Doug Coleman
7c7bb93c55
factor: Rename GENERIC# to GENERIC#:.
...
Fixes #1670 .
2017-06-01 13:58:58 -05:00
John Benediktsson
e477f6996f
Fix comments to be ! not #!.
2015-09-08 16:15:10 -07:00
Doug Coleman
c21a154056
core: callstack is a builtin type and a class name. rename the *stack words that grab the current stack get-foostack to avoid the callstack builtin conflict and for better symmetry with set-foostack.
2015-08-13 10:11:59 -07:00
John Benediktsson
9aab1c87b4
generic.standard: check GENERIC# for integer dispatch#.
2015-08-05 19:10:58 -07:00
John Benediktsson
4fbbe6b201
generic: check valid combination/effect.
2015-08-05 15:13:23 -07:00
Doug Coleman
3ba787b277
core/basis: trim down using lists
2011-11-30 23:15:42 -08:00
Slava Pestov
962d039852
Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster
2009-09-21 17:42:20 -05:00
Slava Pestov
fd3a568191
Fix GENERIC# with out of bounds dispatch position
2009-05-12 20:47:20 -05:00
Slava Pestov
581d017b46
Working on inline caching for tail call sites
2009-05-06 19:22:22 -05:00
Slava Pestov
84fe4a7d67
generic.standard: remove bogus error check
2009-05-05 09:12:49 -05:00
Slava Pestov
b4088373b7
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-04 05:16:47 -05:00
Slava Pestov
58512cbbdb
Cleaning up VM code
2009-05-02 09:19:09 -05:00
Doug Coleman
0ad6d1fb7b
add a few usages of iota, remove most 1+ and 1- from core
2009-05-01 19:58:24 -05:00
Slava Pestov
59d6131c7c
Bum 3 instructions out of megamorphic fast path by switching to fixed-size caches
2009-04-30 04:14:14 -05:00
Slava Pestov
515c619202
Non-optimizing compiler now open-codes megamorphic dispatch fast path
2009-04-30 03:37:07 -05:00
Slava Pestov
bd186b6320
Eliminate 3 instructions from PIC fast path
2009-04-29 21:32:05 -05:00
Slava Pestov
02bd4f3f00
PICs now pass the method table around instead of extracting it from the generic word body. This gels better with how compilation units are supposed to work
2009-04-29 19:39:43 -05:00
Slava Pestov
dbc1a8e1a3
Only generate cold call entry points for standard generics and not hooks
2009-04-28 18:17:28 -05:00
Slava Pestov
5b53562c7b
Add better error checking for INSTANCE: and GENERIC#, and remove unnecessary word props when generic word's combination changes
2009-04-28 17:56:15 -05:00
Slava Pestov
7aa65b5b5f
Fixing new method dispatch implementation
2009-04-25 19:41:27 -05:00
Slava Pestov
3dc9fdf9db
Fleshed out new dispatch code
2009-04-24 20:43:01 -05:00
Slava Pestov
a3c0dd44a1
Revert "Remove method-declaration stuff from generic.standard since hints accomplishes the same thing"
...
This reverts commit 487b92074c
.
2009-04-22 00:15:48 -05:00
Slava Pestov
487b92074c
Remove method-declaration stuff from generic.standard since hints accomplishes the same thing
2009-04-21 23:19:13 -05:00
Slava Pestov
4fc2182ac8
define-generic and define-simple-generic now take stack effect parameters; math-combination is a singleton instead of a tuple
2009-03-22 18:00:26 -05:00
Slava Pestov
1951d739a0
Stack effect declarations are mandatory on all words now
...
define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler
2009-02-23 20:27:05 -06:00
Slava Pestov
de3a4f5462
Change some dup ... swap to bi and keep
2008-12-15 21:20:32 -06:00
Slava Pestov
817510cdb9
Another attempt at size reduction
2008-11-28 01:08:16 -06:00
Slava Pestov
c8f227ccf7
Tweak standard-next-method-quot to produce smaller quotations
2008-11-28 00:56:54 -06:00
Slava Pestov
a4d9cdfeb3
Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
...
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov
4e98751ce0
Remove a conditional branch from all tuple dispatches, since we don't have to check if the class height is at least 1; and remove memory accesses from tuple dispatch where all tuples are height 1
2008-11-05 20:23:38 -06:00
Slava Pestov
44f53de164
Move make to its own vocabulary, remove fry _ feature
2008-09-10 20:07:00 -05:00
Slava Pestov
3b24b52673
Omit default method from usage lists
2008-09-01 04:32:26 -05:00
Slava Pestov
2440fc1ceb
Fixing remaining issues
2008-08-22 17:38:23 -05:00
Slava Pestov
e6282fe1a8
Performance improvements
2008-07-06 01:37:11 -05:00
Slava Pestov
b0d11073d6
Fix step-into on generic words and call-next-method in walker
2008-07-05 00:59:28 -05:00
Slava Pestov
537269447c
Move mirrors out of the boot image
2008-07-02 00:20:01 -05:00
Slava Pestov
0be00f03e6
Mirrors now check sot t slot types, support type coercion for setters, instance? now infers, better transform for 'new', more efficient 'case' where keys are all wrappers
2008-06-29 02:12:44 -05:00
Slava Pestov
29fa4a8a54
assoc-find is no longer generic
2008-06-09 05:22:21 -05:00
Slava Pestov
0c7e742b8c
step-into for hooks
2008-04-11 08:35:07 -05:00
Slava Pestov
871831fdae
Fixing hook stack effects
2008-04-05 20:07:30 -05:00
Slava Pestov
e006aca541
Walker: step directly into the effective method
2008-04-03 17:33:06 -05:00
Slava Pestov
337d582a81
Fix call-next-method
2008-04-02 21:31:41 -05:00
Slava Pestov
5346e1899f
Working on call-next-method, and identity-tuple
2008-04-02 21:27:49 -05:00
Slava Pestov
8fde3fb914
More inheritance debugging
2008-04-02 18:50:21 -05:00
Slava Pestov
7a596ce004
Debugging inheritancE
2008-04-02 02:44:10 -05:00
Slava Pestov
f96a43c42d
Getting ready to drop in new dispatch code
2008-04-02 00:45:30 -05:00
Slava Pestov
fa8b578370
Rewriting method dispatch to support inheritance
2008-04-02 00:28:07 -05:00
Slava Pestov
8f3fd992a1
Merge branch 'master' of git://factorcode.org/git/factor
2008-04-01 01:40:37 -05:00
Slava Pestov
2223633b43
Tweak
2008-04-01 01:40:30 -05:00
Eduardo Cavazos
aa40350aa7
replace add* and add with prefix and suffix
2008-03-31 18:18:05 -06:00