Commit Graph

66 Commits (7c7bb93c55ce5dc4f6411c83ead3eea1fc726d3a)

Author SHA1 Message Date
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