Slava Pestov
|
63b963e12a
|
Fix x86-64 backend
|
2009-05-07 16:58:18 -05:00 |
Slava Pestov
|
3591f6c684
|
Count megamorphic cache hits
|
2009-05-07 14:26:08 -05:00 |
Slava Pestov
|
318552ba60
|
Fix tail call PICs on x86-64
|
2009-05-06 22:44:30 -05:00 |
Slava Pestov
|
4915e1ced7
|
Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs
|
2009-05-06 22:04:01 -05:00 |
Slava Pestov
|
12a34d81f7
|
JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends
|
2009-05-06 20:04:49 -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
|
867ff51b83
|
Remove some unused constants and update an obsolete comment
|
2009-05-06 14:57:17 -05:00 |
Slava Pestov
|
50826084f0
|
cpu.x86.bootstrap: remove obsolete comment
|
2009-05-05 20:56:44 -05:00 |
Slava Pestov
|
e9e095f240
|
Rename enable/disable-compiler to enable/disable-optimizer, and add with-optimizer and without-optimizer combinators
|
2009-05-01 05:52:05 -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
|
f9ec0a07c5
|
Fix PICs for x86-64
|
2009-04-30 18:00:49 -05:00 |
Slava Pestov
|
5c9dc6d753
|
Tag-only PIC checks would always miss
|
2009-04-30 06:41:37 -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
|
515c619202
|
Non-optimizing compiler now open-codes megamorphic dispatch fast path
|
2009-04-30 03:37:07 -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
|
38a38a57a9
|
Fix hi-tag-or-tuple PICs
|
2009-04-29 03:00:09 -05:00 |
Slava Pestov
|
9243316489
|
Debugging inline caching
|
2009-04-28 23:05:18 -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
|
4d10105802
|
Working on inline caching
|
2009-04-28 03:48:37 -05:00 |
Slava Pestov
|
7e84daf0f1
|
Move (execute) to kernel.private
|
2009-04-26 02:42:37 -05:00 |
Slava Pestov
|
76281235e7
|
bootstrap.image: clean up jit-define and define-sub-primitive so that
|
2009-04-25 22:35:19 -05:00 |
Slava Pestov
|
27c84e89fe
|
Working on faster (execute)
|
2009-04-25 21:14:59 -05:00 |
Slava Pestov
|
0f0218b209
|
Fix some compile warnings in bootstrap
|
2009-04-17 17:53:26 -05:00 |
Slava Pestov
|
ea60f8ae93
|
Changing : foo ; parsing to SYNTAX: foo ;
|
2009-03-21 01:27:50 -05:00 |
Slava Pestov
|
7f4c967ace
|
More compact relocation layout
|
2009-03-19 20:02:43 -05:00 |
Slava Pestov
|
bf41b187b0
|
Re-organize code so that with-compilation-unit can infer
Fix with-compilation-unit to work in deployed code
|
2009-03-13 19:39:32 -05:00 |
Slava Pestov
|
6b25e99470
|
Add summary for heaps more vocabs
|
2009-02-16 21:05:13 -06:00 |
Slava Pestov
|
6b99b04531
|
Add vocab: for vocab-relative paths
|
2009-02-15 19:53:21 -06:00 |
sheeple
|
3c1ddde1f9
|
Fix complex float support on NetBSD
|
2009-02-12 08:10:21 -06:00 |
sheeple
|
facd455e92
|
Working on complex float support in FFI on NetBSD
|
2009-02-12 06:25:07 -06: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
|
34792a9f23
|
Remove >r/r>
|
2008-12-17 19:17:37 -06:00 |
Slava Pestov
|
c5160d76e9
|
Merge qualified, alias, symbols, constants into core
|
2008-12-17 18:10:01 -06:00 |
Slava Pestov
|
0021cde743
|
Fix more compile errors
|
2008-12-15 22:21:56 -06:00 |
Slava Pestov
|
5a45119252
|
Fix jit-dispatch on x86-64; was broken on windows
|
2008-12-15 20:55:24 -06:00 |
Slava Pestov
|
d821cd7281
|
Fix win64 bootstrap
|
2008-12-10 01:19:22 -06:00 |
Slava Pestov
|
4b927f732f
|
Clean up JIT backend a little
|
2008-12-09 17:14:17 -06:00 |
Slava Pestov
|
05e4626c49
|
Clean up
|
2008-12-09 03:22:09 -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
|
e4db2afb7e
|
Update cpu.x86.assembler to use dip instead of >r/r>
|
2008-12-02 03:10:01 -06:00 |
Slava Pestov
|
a558f91d5d
|
Better command-line processing
|
2008-12-01 16:10:48 -06:00 |
Slava Pestov
|
3e25d14e54
|
Code cleanup: refactoring usages of rot and -rot to use newer idioms instead
|
2008-11-30 17:47:29 -06:00 |