Slava Pestov
|
318552ba60
|
Fix tail call PICs on x86-64
|
2009-05-06 22:44:30 -05:00 |
Slava Pestov
|
581d017b46
|
Working on inline caching for tail call sites
|
2009-05-06 19:22:22 -05:00 |
Slava Pestov
|
c93d876075
|
Better separation of concerns: cpu.{x86,ppc}.assembler no longer depends on compiler.codegen.fixup and cpu.architecture. Rename rt-xt-direct to rt-xt-pic to better explain its purpose
|
2009-05-06 16:14:53 -05:00 |
Slava Pestov
|
44bfff7c7b
|
Rename ##load-indirect to ##load-reference since this is more descriptive; value numbering doesn't assign expressions to ##load-reference nodes since this would end up folding literals which were eq? but not =
|
2009-01-29 01:44:58 -06:00 |
Slava Pestov
|
8a8f0c925c
|
Use BSR instruction to implement fixnum-log2 intrinsic
|
2008-12-06 15:31:17 -06:00 |
Slava Pestov
|
a56d480aa6
|
Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
|
2008-12-06 09:16:29 -06:00 |
Slava Pestov
|
82cf6530c6
|
set-string-nth-fast intrinsic was busted
|
2008-12-05 23:52:09 -06:00 |
Slava Pestov
|
e256846acd
|
Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement
|
2008-12-05 06:38:51 -06:00 |
Slava Pestov
|
e5ed7447ed
|
Removing more >r/r> usages
|
2008-12-03 08:46:16 -06:00 |
Slava Pestov
|
e7f4563374
|
fixnum* intrinsic for x86
|
2008-11-30 07:26:49 -06:00 |
Slava Pestov
|
f44506089d
|
More work on overflow instructions: don't need temp register anymore, add -tail variants which don't need stack frame
|
2008-11-28 06:36: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
|
ab689c098b
|
Clean up direct literal code and make a first attempt at PowerPC support
|
2008-11-24 08:16:14 -06:00 |
Slava Pestov
|
2aaf860f47
|
Experimental optimizations
|
2008-11-24 06:40:51 -06:00 |
Slava Pestov
|
20f5541d35
|
Refactoring FFI for Win64
|
2008-11-17 13:34:37 -06:00 |
Slava Pestov
|
eb05dd3a12
|
Optimize a ##dispatch that is applied to the result of a ##sub-imm or ##add-imm; this eliminates an instruction from the common 1 fixnum-fast { ... } dispatch and 8 fixnum-fast { ... } dispatch code sequences appearing in generic word expansions
|
2008-11-13 04:16:08 -06:00 |
unknown
|
f7fe84e563
|
Working on Win64 FFI
|
2008-11-08 21:40:47 -06:00 |
unknown
|
7365959f01
|
Starting work on Win64 port
|
2008-11-07 20:33:32 -06:00 |
sheeple
|
d2ec46e38f
|
PowerPC backend almost functional; some new compiler unit tests added,
better compilation of 'f eq?'; f becomes an immediate operand
move aux-offset to compiler.constants
|
2008-11-06 06:27:27 -06:00 |
Slava Pestov
|
53cd75b06c
|
Add string-nth intrinsic
|
2008-11-06 01:11:28 -06:00 |
Slava Pestov
|
8b7c47a68b
|
Clean up x86 backend: move cpu.x86.architecture to cpu.x86, use branchless arithmetic in some intrinsics
|
2008-11-05 04:15:48 -06:00 |