2008-08-08 14:14:36 -04:00
|
|
|
! Copyright (C) 2008 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2008-08-10 23:22:26 -04:00
|
|
|
USING: kernel classes.tuple classes.tuple.private math arrays
|
|
|
|
byte-arrays words stack-checker.known-words ;
|
2008-09-02 23:59:49 -04:00
|
|
|
IN: compiler.intrinsics
|
2008-08-08 14:14:36 -04:00
|
|
|
|
2008-09-17 23:18:08 -04:00
|
|
|
ERROR: missing-intrinsic ;
|
|
|
|
|
|
|
|
: (tuple) ( n -- tuple ) missing-intrinsic ;
|
2008-08-10 23:22:26 -04:00
|
|
|
|
|
|
|
\ (tuple) { tuple-layout } { tuple } define-primitive
|
|
|
|
\ (tuple) make-flushable
|
|
|
|
|
2008-09-17 23:18:08 -04:00
|
|
|
: (array) ( n -- array ) missing-intrinsic ;
|
2008-08-10 23:22:26 -04:00
|
|
|
|
|
|
|
\ (array) { integer } { array } define-primitive
|
|
|
|
\ (array) make-flushable
|
|
|
|
|
2008-09-17 23:18:08 -04:00
|
|
|
: (byte-array) ( n -- byte-array ) missing-intrinsic ;
|
2008-08-10 23:22:26 -04:00
|
|
|
|
|
|
|
\ (byte-array) { integer } { byte-array } define-primitive
|
|
|
|
\ (byte-array) make-flushable
|
2008-09-17 23:18:08 -04:00
|
|
|
|
|
|
|
: (ratio) ( -- ratio ) missing-intrinsic ;
|
|
|
|
|
|
|
|
\ (ratio) { } { ratio } define-primitive
|
|
|
|
\ (ratio) make-flushable
|
|
|
|
|
|
|
|
: (complex) ( -- complex ) missing-intrinsic ;
|
|
|
|
|
|
|
|
\ (complex) { } { complex } define-primitive
|
|
|
|
\ (complex) make-flushable
|
|
|
|
|
|
|
|
: (wrapper) ( -- wrapper ) missing-intrinsic ;
|
|
|
|
|
|
|
|
\ (wrapper) { } { wrapper } define-primitive
|
|
|
|
\ (wrapper) make-flushable
|
|
|
|
|
|
|
|
: (set-slot) ( val obj n -- ) missing-intrinsic ;
|
|
|
|
|
|
|
|
\ (set-slot) { object object fixnum } { } define-primitive
|
|
|
|
|
|
|
|
: (write-barrier) ( obj -- ) missing-intrinsic ;
|
|
|
|
|
|
|
|
\ (write-barrier) { object } { } define-primitive
|