Commit Graph

457 Commits (50d0597580399c16ec067cea7c5f515441faae4b)

Author SHA1 Message Date
Slava Pestov 982d409a8b Fix VM compilation on Windows 2009-05-01 02:01:43 -05:00
slava b8b7d3861b Fix some compiler warnings 2009-04-30 23:50:53 -04:00
Slava Pestov d93514d47d Merge branch 'master' of git://factorcode.org/git/factor 2009-04-30 21:13:36 -05:00
Slava Pestov b20ed595c4 Remove obsolete comment 2009-04-30 19:47:08 -05:00
Slava Pestov 742d574162 Non-optimizing compiler doesn't need to optimize 'dispatch' primitive anymore since its rarely used 2009-04-30 19:42:08 -05:00
Slava Pestov 7be231f6f8 Clean up code duplication in quotations.c 2009-04-30 19:07:13 -05:00
Slava Pestov f9ec0a07c5 Fix PICs for x86-64 2009-04-30 18:00:49 -05:00
Doug Coleman 674bb9a4d5 remove error_message from windows vm 2009-04-30 09:36:01 -05:00
Slava Pestov d6444e742c Fix comment 2009-04-30 07:06:23 -05:00
Slava Pestov 5bc63fc237 At the end of a compilation unit, all PICs become dead so add them to the free list immediately instead of having them waste space until the next GC.
Similarly, when a PIC transition occurs, add the old PIC to the free list immediately. 
Remove an unused function update_code_heap_roots()
2009-04-30 05:59:44 -05:00
Slava Pestov 5fb5c19d61 Machine code is now stored in a byte array instead of an array for add_code_block() 2009-04-30 04:34:35 -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 fc4894fbdf Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags 2009-04-30 00:27:35 -05:00
Slava Pestov 62db617927 Get rid of two instructions from tag pics and one instruction from all others 2009-04-29 22:24:28 -05:00
Slava Pestov bd186b6320 Eliminate 3 instructions from PIC fast path 2009-04-29 21:32:05 -05:00
Slava Pestov ae22b345ec PIC -> megamorphic transition now has correct semantics within compilation units 2009-04-29 19:50:50 -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 a26947ba2e Remove obsolete -mtune=pentium4 compile flag 2009-04-28 23:05:42 -05:00
Slava Pestov 9243316489 Debugging inline caching 2009-04-28 23:05:18 -05:00
Slava Pestov dfcbd206b6 Fix -pic command line switch, and enable PICs in user-space 2009-04-28 18:06:10 -05:00
Slava Pestov c15a4c1c5a Add new relocation type for call sites which may be replaced by ICs 2009-04-28 17:53:14 -05:00
Slava Pestov 5f6c074edd Split up types.c/h into smaller files, remove optimized slot from F_WORD struct 2009-04-28 17:26:11 -05:00
Slava Pestov e8008af5d0 inline-cache-miss primitive now jumps to the new stub 2009-04-28 16:58:38 -05:00
Slava Pestov 3985b18026 Add -pic= command line argument 2009-04-28 16:58:19 -05:00
Slava Pestov e940f6fd8b Add method dispatch statistics 2009-04-28 16:58:05 -05:00
Slava Pestov bd1b6be732 Remove some unused macros 2009-04-28 04:03:11 -05:00
Slava Pestov 4d10105802 Working on inline caching 2009-04-28 03:48:37 -05:00
Slava Pestov d5b51df7e7 Clean up profiler.c using new JIT API 2009-04-28 00:53:32 -05:00
Slava Pestov e45790a802 Split off parts of quotations.c into jit.c, which is a general codegen facility used by the non-optimizing compiler, and soon to be the profiler and PICs 2009-04-28 00:48:00 -05:00
Slava Pestov 15ef4f651b Sprinkle VM source with assertions, add a missing local root to quotations.c, fix GROWABLE_ARRAY macros for GC safety 2009-04-28 00:11:09 -05:00
Slava Pestov bba3bdd2bd Merge branch 'inline_caching' into jit_cleanup 2009-04-27 17:09:12 -05:00
Slava Pestov bba30dc284 Fix conflict from master 2009-04-27 17:09:09 -05:00
Slava Pestov bf0e8606a8 Merge branch 'master' into inline_caching 2009-04-26 21:26:39 -05:00
Slava Pestov 087c962f75 VM: simplify GC a bit, add GC_DEBUG compile-time flag 2009-04-26 16:05:09 -05:00
Slava Pestov e0f6825757 Rename some fields to avoid conflicting with windows.h macros 'small' and 'large' 2009-04-26 10:02:52 -05:00
Slava Pestov f94a44f3fd Merge branch 'master' into inline_caching 2009-04-26 09:22:27 -05:00
Slava Pestov 5f756a8019 Code GC: segregated free list for faster allocation, combine unmark/build free list/update literals passes into one pass for faster deallocation 2009-04-26 09:15:58 -05:00
Slava Pestov a14e5a4a3b Better local cache 2009-04-26 08:06:37 -05:00
Slava Pestov 63fff0a832 Clean up VM's growable array implementation, and non-optimizing compiler 2009-04-26 07:00:48 -05:00
Slava Pestov 89eccddde7 quotations.c: fix quot_code_offset_to_scan 2009-04-25 22:35:51 -05:00
Slava Pestov 356537593e Get rid of execute-unsafe now that (execute) is more versatile 2009-04-25 21:50:34 -05:00
Slava Pestov 2630c4a95f Add local caching 2009-04-25 20:33:52 -05:00
Slava Pestov 8c5b0373a8 Working on new method dispatch system 2009-04-24 15:31:06 -05:00
Slava Pestov b00d81e47b Add time spent scanning cards to 'time' output 2009-04-24 09:44:29 -05:00
Slava Pestov 461ddfac1a Fix 'become' 2009-04-21 00:05:39 -05:00
Slava Pestov f38d2f91f6 Words which didn't compile cannot be run at all 2009-04-20 22:05:41 -05:00
Slava Pestov 968bf4bcb4 Merge branch 'master' of git://factorcode.org/git/factor 2009-04-20 01:56:16 -05:00
Slava Pestov 5ac1358aea Report actual SEH code on Windows instead of 'signal 11' 2009-04-20 01:55:27 -05:00
Slava Pestov 8baaf04ac5 When doing code heap compaction, don't scan stacks as roots since we're going to exit anyway 2009-04-18 03:25:51 -05:00
Slava Pestov f4cdcaa1ce Fix compiler warnings in tools.deploy.shaker 2009-04-17 20:38:55 -05:00