Joe Groff
2ab97370da
alien.data: make binary-zero? public and move it from classes.struct.private
2010-06-10 17:05:43 -07:00
Joe Groff
7e0ade0972
classes.struct: fix some bugs in binary-zero?, add unit tests
2010-06-10 16:49:59 -07:00
Joe Groff
e45373d1ce
classes.struct: implement "group-words" method on struct-class so that struct classes can be used as a CONSULT: protocol
2010-06-08 12:52:46 -07:00
Slava Pestov
b8ec5c6176
Stack allocation improvements
...
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Slava Pestov
35bd2bca06
FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing
2010-05-16 03:43:23 -04:00
Slava Pestov
5a102c717d
Eliminate compiler.alien
2010-05-11 23:24:47 -04:00
Slava Pestov
b92c67fc2c
Move flatten-c-type to death row so that it can be executed in part 5
2010-05-11 22:26:31 -04:00
Slava Pestov
5054bb4b25
FFI rewrite part 4: parameter and return value unboxing redesign
2010-05-11 19:11:44 -04:00
Slava Pestov
3d66820344
FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions
2010-05-09 21:36:52 -04:00
Slava Pestov
d2d466de29
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
2010-05-06 17:21:02 -04:00
Slava Pestov
7e8add87fe
More FFI cleanups
2010-05-05 01:13:45 -04:00
Slava Pestov
ae24eb8f97
alien.c-types: cleanup
2010-05-04 19:33:55 -04:00
Daniel Ehrenberg
4cf75e97b5
Documenting bitfields in structs
2010-04-25 18:09:58 -05:00
Daniel Ehrenberg
d9878f81d7
Changing require-when usages to the new syntax for require-when
2010-04-18 14:29:24 -05:00
Slava Pestov
f733693ec7
classes.struct, specialized-arrays: fix unit tests to work when forget-tests? is on
2010-04-12 18:29:47 -07:00
Daniel Ehrenberg
f2f80dadc7
Updating code to use require-when rather than vocab [ require ] when
2010-03-18 01:13:37 -04:00
Joe Groff
0f34795200
classes.struct: raise an error in STRUCT: if there are duplicate slot names
2010-02-25 11:52:21 -08:00
Slava Pestov
c1e7a3ffc2
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
2010-02-24 20:18:41 +13:00
Joe Groff
96ab4492d2
rename current string-mangling "char*" to "c-string". char* is now just a boring old pointer to char
2010-02-23 11:42:02 -08:00
Joe Groff
9a79427f00
classes.struct: reader-quot was checking struct-slot-spec for array-ness, not the type! derp
2010-02-22 23:57:10 -08:00
Joe Groff
4875169d0c
alien.arrays/classes.struct: ensure specialized array types for struct array slots get instantiated at parse time
2010-02-22 12:21:29 -08:00
Joe Groff
21936bfe20
classes.struct: set dependency on slot types in slot accessors, so that accessors update when types change. enables pointers to make circular references between struct types
2010-02-21 22:46:52 -08:00
Joe Groff
4d89097467
add missing using to classes.struct tests
2010-02-21 22:04:23 -08:00
Joe Groff
64e6f08b59
use a "pointer" wrapper tuple to indicate pointer types instead of the current slipshod approach
2010-02-21 16:27:36 -08:00
Joe Groff
75359a59d5
remove string c-types from classes.struct tests
2010-02-21 13:01:29 -08:00
Joe Groff
866f6ada18
ditch string c-types
2010-02-21 10:58:21 -08:00
Slava Pestov
1100861204
Add support for final tuple classes which cannot be subclassed: TUPLE: foo ... ; final
2010-02-18 02:19:57 +13:00
Slava Pestov
03a74f2237
classes: If a tuple class with subclasses is redefined into something that's not a tuple class, subclasses are changed to inherit from 'tuple' instead of being forgotten. Also, changing the metaclass of a union or intersection member no longer removes it from the union or intersection. Finally, make some internal words private
2010-02-01 02:48:39 +13:00
Doug Coleman
7521807b55
random is generic now -- iota random -> random
2010-01-14 12:48:57 -06:00
Slava Pestov
880fb747fc
Removing integers-as-sequences
2010-01-15 07:15:33 +13:00
Joe Groff
ebcaaa0d64
Merge branch 'master' into simd-cleanup
2009-11-26 16:14:46 -08:00
Slava Pestov
08b6ebc7fa
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Slava Pestov
d6c1fed06c
classes.struct: compute slot offsets before alignment to fix struct size problem on PPC
2009-11-19 19:34:46 -06:00
Joe Groff
993631e44c
Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
...
Conflicts:
basis/math/vectors/simd/functor/functor.factor
2009-11-14 21:02:39 -06:00
Slava Pestov
d630e1494c
Fix struct field alignment on PowerPC
2009-11-10 19:34:14 -06:00
Joe Groff
81025d7095
move define-inline-method from classes.struct.private to generic.parser
2009-11-01 22:10:28 -06:00
Joe Groff
c6761710a6
Merge branch 'master' of http://factorcode.org/git/factor
...
Conflicts:
basis/locals/locals.factor
basis/peg/peg.factor
extra/infix/infix.factor
2009-10-28 16:17:24 -05:00
Joe Groff
22a9be5ea5
update existing code to use :> ( ) when possible
2009-10-28 16:11:33 -05:00
Doug Coleman
ae519868f7
over push -> suffix!, over push-all -> append!
2009-10-28 15:29:01 -05:00
Doug Coleman
a57e990af7
parsed -> suffix!, add append!
2009-10-28 13:38:27 -05:00
Daniel Ehrenberg
373f4420e9
Another identity in value numbering for bitfields
2009-10-08 15:20:42 -05:00
Daniel Ehrenberg
df4d48ffcc
Cleaning up classes.struct.bit-accessors code
2009-10-08 14:01:43 -05:00
Daniel Ehrenberg
d1eb1968a6
Refactoring bitfield accessors to eliminate code duplication
2009-10-08 13:45:52 -05:00
Daniel Ehrenberg
52bf4738c8
Making struct bitfield writers fast
2009-10-08 13:10:51 -05:00
Daniel Ehrenberg
64e9bc7d9c
Making struct bitfield readers fast
2009-10-07 23:51:18 -05:00
Daniel Ehrenberg
ddb6319391
Modifying the struct prettyprinter to display bits
2009-10-07 21:42:15 -05:00
Daniel Ehrenberg
6b8233e350
Refactoring bitfields to not use number tower
2009-10-07 21:35:12 -05:00
Daniel Ehrenberg
635aa1860c
Adding bit fields to STRUCT:
2009-10-07 01:43:32 -05:00
Keith Lazuka
8f79ea91ba
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Slava Pestov
f08521bf83
Fixing various test failures caused by C type parser change, and clarify C type docs some more
2009-09-28 08:48:39 -05:00