Commit Graph

326 Commits (f8a23c657bc10c03a9dd8489246f1593d1d31934)

Author SHA1 Message Date
Slava Pestov a4282139dc Add comments explaining recent changes 2008-11-24 09:27:15 -06:00
Slava Pestov ab689c098b Clean up direct literal code and make a first attempt at PowerPC support 2008-11-24 08:16:14 -06:00
Slava Pestov 030501d6ef GC speedup 2008-11-24 06:49:14 -06:00
Slava Pestov 2aaf860f47 Experimental optimizations 2008-11-24 06:40:51 -06:00
Slava Pestov 8663ca2982 Fix VM for PowerPC 2008-11-24 02:03:01 -06:00
Slava Pestov d86524f4bc Non-optimizing compiler now compiles dip, 2dip, 3dip, if, with direct branches instead of indirect branches. 8% bootstrap time improvement on Core Duo 2 2008-11-24 00:23:17 -06:00
Slava Pestov 1d6e389d18 Fixing walker, adding traceback tests 2008-11-23 21:40:54 -06:00
Slava Pestov 65b89eea9e Fix compile error 2008-11-23 04:46:15 -06:00
Slava Pestov 7788b3e0db Merge branch 'master' into microseconds 2008-11-23 03:06:32 -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 f1b95c0038 Fix .c command in FEP 2008-11-22 19:57:06 -06:00
Slava Pestov 1b091b5a26 Reuse F_CONTEXT instances used for FFI callbacks: 60x speed improvement on benchmark.fib6 2008-11-21 23:13:14 -06:00
Slava Pestov 322d115d2e /mod didn't handle overflow correctly 2008-11-21 05:18:55 -06:00
Slava Pestov 27503bf67f Faster /mod and /i primitives 2008-11-21 01:54:45 -06:00
Doug Coleman 3ea773fa80 remove UNKNOWN test 2008-11-19 16:10:00 -06:00
Slava Pestov 8819f23312 Replace millis primitive with micros primitive
Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part
2008-11-19 01:50:05 -06:00
U-SLAVA-DFB8FF805\Slava 2ffecd3acc Fix VM compile on 32-bit Windows 2008-11-18 18:51:52 -06:00
Slava Pestov 7fd0a27c0d VM no longer uses printf since format string directives are not portable between Win64 and everything else... 2008-11-18 18:21:42 -06:00
Slava Pestov d6dd9ea2a3 Add workaround for Windows bttray.exe issue 2008-11-17 21:21:57 -06:00
unknown ddd28c7d12 Fix Win64 type issue 2008-11-17 18:44:06 -06:00
Slava Pestov 14246fde37 Better FFI unit tests expose a new problem 2008-11-17 12:23:44 -06:00
Slava Pestov 63d109cc04 Remove unused F_CURRY struct from layouts.h 2008-11-16 11:49:32 -06:00
Slava Pestov cfa82cb474 New calling convention for VM primitives:
instead of the Factor side passing the stack pointer as the first parameter, and having the VM save it to stack_chain->top, we instead have the Factor side save it. Eliminates a lot of crud in the VM
2008-11-13 03:20:34 -06:00
Slava Pestov cdb94e4c62 Word constructor was not invoking relocation on the profiled block, so words constructed while profiling was on could not be executed. This prevented profiling of PEGs 2008-11-11 23:07:40 -06:00
Slava Pestov abc3915387 Fix x86-32 VM compilation; was using a 64-bit reg on accident 2008-11-08 21:06:51 -06:00
Slava Pestov fdbea06e27 Fix compile warning 2008-11-08 20:40:09 -06:00
unknown 359fb6e518 VM fixes for Win64 calling convention 2008-11-08 20:32:23 -06:00
unknown 7365959f01 Starting work on Win64 port 2008-11-07 20:33:32 -06:00
unknown e45df2e89c Fix bignums for Win64 2008-11-07 20:25:31 -06:00
Slava Pestov c2117d4046 make macosx-ppc now compiles a ppc binary on intel mac os; it doesn't work properly in rosetta though 2008-11-06 03:37:10 -06:00
Slava Pestov 7741096bff Tweak PPC register usage; gcc doesn't like it when you mess with r31 for some reason 2008-11-06 03:36:46 -06:00
Slava Pestov cc879fa9b7 Tuple layouts are now arrays, instead of built-in types. The superclass
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov 2239f4fb99 More work on PowerPC backend; change register usage, free up some more integer and float regs (untested) 2008-11-05 04:20:35 -06:00
U-SLAVA-DFB8FF805\Slava 72b34c7b47 Fix visibility of check_sse2 symbol; DDLEXPORT doesn't work in gas source 2008-11-04 00:04:18 -06:00
Slava Pestov 00fc4eb179 Fix Windows bootstrap: check_sse2 was not DLLEXPORT 2008-11-03 07:27:14 -06:00
Slava Pestov 44a2499c17 fixnum-shift-fast and fixnum-mod subprimitives 2008-11-03 01:18:35 -06:00
Slava Pestov 804c6f93ea Fix x86.32 2008-10-31 21:07:41 -05:00
Slava Pestov 461a4ddd0a Add SSE2 detection routine 2008-10-20 05:56:39 -05:00
Doug Coleman 964961ed74 remove dead code 2008-10-19 18:13:59 -05:00
Doug Coleman f324ceb2b0 remove some macroz 2008-10-19 16:50:11 -05:00
Doug Coleman 78a529b1c3 remove directory from the vm 2008-10-19 13:27:59 -05:00
Doug Coleman 84ec1eec1d remove environ and os-envs primitives 2008-10-18 21:41:16 -05:00
Slava Pestov 6130aeb88f Fix fep looping 2008-10-09 00:13:04 -05:00
Slava Pestov ded36a2279 Fix GC bug 2008-09-28 21:55:40 -05:00
Slava Pestov be4915ee9c Fix save-image-and-exit bug 2008-09-19 14:44:58 -05:00
Doug Coleman c6db662b3b Rice is a part of every healthy diet 2008-08-05 04:38:01 -05:00
Slava Pestov 722cacddb4 Fixing some problems with returning structs by value in x86.64 FFI 2008-09-13 20:28:13 -05:00
Slava Pestov a3d1379b8c Fix bug with large structs passed by value on x86.64 2008-09-09 03:10:43 -05:00
Slava Pestov e1716d92b3 Remove delegation slot 2008-09-03 03:46:56 -05:00
Slava Pestov 5a0c3e3d73 Add better error message for out of memory 2008-07-25 22:05:36 -05:00