sheeple
abc486c342
Subtraction overflow was wrong way round on PowerPC
2008-11-30 06:08:16 -06:00
sheeple
2b1a90e90a
Fixing PowerPC arithmetic primitives
2008-11-28 22:22:26 -06:00
Slava Pestov
68dd6cc35a
Working on PowerPC overflow checks
2008-11-28 20:02:50 -06:00
Slava Pestov
2863da257b
fixnum-shift didn't work with very large negative shift counts; BRANCHLESS_MAX macro was wrong
2008-11-28 08:34:30 -06:00
Slava Pestov
5634becda1
##fixnum-add, ##fixnum-sub instructions open-code overflow check
2008-11-28 05:33:58 -06:00
Slava Pestov
6320b936ff
Merge branch 'master' into faster_overflow_checks
2008-11-28 04:35:26 -06:00
Slava Pestov
c8a8d69382
After merging quotations, we need to update references to the old versions' XTs in the code heap
2008-11-28 03:47:37 -06:00
Slava Pestov
b3ad902208
Fix cosmetic issue
2008-11-28 00:48:20 -06:00
Slava Pestov
fff10d8082
Fix for gcc 4.2
2008-11-27 23:32:17 -06:00
Slava Pestov
cfbd3c679b
Remove unused function from VM
2008-11-27 23:28:38 -06:00
Slava Pestov
6dfce7d4e7
load-locals is a primitive now, change semantics of get-locals to bum out 2 instructions from the sub-primitive
2008-11-27 22:30:29 -06:00
Slava Pestov
e78121f38c
Rewrite remaining fixnum primitives in assembly (work in progress)
2008-11-26 04:22:39 -06:00
Slava Pestov
826be7530e
Check Mac OS X version on startup and give up if we're running something older than 10.5
2008-11-25 21:51:41 -06:00
Slava Pestov
c7c1f3903f
Fix performance problem: literals were being scanned too often
2008-11-25 21:27:07 -06:00
slava
fbc0f33c86
The deploy tool would coalesce equal quotations into one. This created a problem
...
for the non-optimizing compiler because if the new 'leader' quotation was not
compiled but some of the ones that it replaces were, then calls to the quotation
from contexts where they have to be compiled (eg, compiled if and dip) would no
longer work. Add a `jit-compile' primitive to compile quotations, and call it
as appropriate in `compress-quotations`.
2008-11-24 15:59:27 -06:00
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