Commit Graph

13944 Commits (a79e3eb6878534a3cf52eee2317e52e091de20db)

Author SHA1 Message Date
Slava Pestov a79e3eb687 Passing an invalid parameter to 'declare' doesn't break the compiler anymore 2009-04-30 20:40:47 -05:00
Slava Pestov 10e21bf8d3 tools.deploy.shaker: update for method dispatch changes 2009-04-30 20:35:55 -05:00
Slava Pestov f51b7b2677 Fix tools.time output in the TTY listener 2009-04-30 20:03:52 -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 d72bf515f8 tools.walker: fix tests 2009-04-30 19:06:54 -05:00
Slava Pestov f9ec0a07c5 Fix PICs for x86-64 2009-04-30 18:00:49 -05:00
Slava Pestov 48dbd4022c Remove obsolete benchmark 2009-04-30 17:13:52 -05:00
Slava Pestov d6444e742c Fix comment 2009-04-30 07:06:23 -05:00
Slava Pestov 5c9dc6d753 Tag-only PIC checks would always miss 2009-04-30 06:41:37 -05:00
Slava Pestov 4ae6269185 PPC make-image fix 2009-04-30 05:59:59 -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 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 1ce65acff1 Benchmark harness now runs a GC first 2009-04-30 04:00:54 -05:00
Slava Pestov 8c01b79d06 Fix PPC make-image 2009-04-30 04:00:44 -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 964fbd0a24 Fix test failures from ratio/complex built-in removal 2009-04-30 00:38:55 -05:00
Slava Pestov 663db67b23 compiler.tree.debugger: wasn't counting intrinsics properly when computing report 2009-04-30 00:27:51 -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 9f4ac667dc Move some unit tests from generic to generic.math 2009-04-29 23:36:05 -05:00
Slava Pestov 3bbfc57de3 bootstrap.image: remove some duplication from emit-object callers 2009-04-29 23:35:02 -05:00
Slava Pestov 7fae35c414 Makefile: add -Werror 2009-04-29 22:24:36 -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 5188f4e1f0 Fix TEST opcode in cpu.x86.assembler 2009-04-29 22:23:42 -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 deaea55d85 compiler: don't wrap non-inference errors in compile errors, since they indicate compiler bugs; just rethrow them. Add unit test for a PIC regression 2009-04-29 19:39:04 -05:00
Slava Pestov 38a38a57a9 Fix hi-tag-or-tuple PICs 2009-04-29 03:00:09 -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 8c25569e9e tools.time: print method dispatch statistics 2009-04-28 22:45:19 -05:00
Slava Pestov 7f766ab355 Update compiler tests for tag number changes 2009-04-28 21:43:30 -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 dfcbd206b6 Fix -pic command line switch, and enable PICs in user-space 2009-04-28 18:06:10 -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 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