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