Joel Dice
|
eea2225176
|
save locals to memory before executing any instruction which might trigger an exception if that instruction lies within an exception handler
|
2008-11-25 10:34:48 -07:00 |
|
Joel Dice
|
fb770d10fb
|
implement jsr/ret support
The Subroutine test won't pass due to a bug in the stack mapping code
such that objects may be missed during GC.
|
2008-11-13 17:59:21 -07:00 |
|
Joel Dice
|
c80eb51c17
|
Merge branch 'master' into powerpc
Conflicts:
makefile
src/assembler.h
src/compile.cpp
src/compiler.cpp
src/compiler.h
src/finder.cpp
|
2008-11-11 08:21:48 -07:00 |
|
Joel Dice
|
5fc9ad058b
|
more bugfixes; all tests pass on amd64
|
2008-11-10 17:07:44 -07:00 |
|
Joel Dice
|
00d8142de9
|
various bugfixes; all but one test are passing on amd64
|
2008-11-09 16:56:37 -07:00 |
|
Joel Dice
|
f01f4441d9
|
various bugfixes and instructions implemented to get more tests passing
|
2008-11-06 17:39:38 -07:00 |
|
Joel Dice
|
1ba497d90a
|
fix Exceptions test for amd64
|
2008-11-02 15:25:51 -07:00 |
|
Joel Dice
|
dd4dc18916
|
snapshot
|
2008-11-01 13:14:13 -06:00 |
|
Joel Dice
|
61c708d7b2
|
reserve stack space for arguments to native calls
|
2008-09-28 13:00:52 -06:00 |
|
Joel Dice
|
11c2afbf91
|
bugfixes
|
2008-09-24 18:48:32 -06:00 |
|
Joel Dice
|
b8dd495ada
|
fix build
|
2008-09-22 08:28:18 -06:00 |
|
Joel Dice
|
1b4ad1db42
|
snapshot
|
2008-09-20 17:42:46 -06:00 |
|
Joel Dice
|
bd9e8a77e2
|
improved tracking of data flow across control flow boundaries
|
2008-09-13 15:09:26 -06:00 |
|
Joel Dice
|
392a1417e5
|
lots of bugfixes and a few instructions added
|
2008-09-08 18:31:19 -06:00 |
|
Joel Dice
|
e13b755048
|
more progress towards new JIT code - this compiles but won't run properly
|
2008-09-05 09:00:38 -06:00 |
|
Joel Dice
|
767c3ce2e4
|
snapshot
|
2008-08-28 16:43:35 -06:00 |
|
Joel Dice
|
a062d8c975
|
progress towards refactored JIT compiler to support PowerPC and data flow analysis across control flow boundaries
|
2008-08-23 12:04:36 -06:00 |
|
Joel Dice
|
9654e3445d
|
refactor stack walking and visiting code to abstract away certain details of stack layout which are architecture-specific
|
2008-08-18 09:23:01 -06:00 |
|
Joel Dice
|
23043d140f
|
snapshot
|
2008-07-05 14:21:13 -06:00 |
|
Joel Dice
|
eabb37e6eb
|
add lcmp instruction to Compiler and corresponding LongCompare instruction to Assembler, since that's the only efficient way to implement the lcmp bytecode on x86
|
2008-06-12 10:56:48 -06:00 |
|
Joel Dice
|
fc8c5a2ea9
|
fix a few bugs revealed by ProGuard optimizations, including too-early constant propagation during array loads and stores
|
2008-06-10 08:49:13 -06:00 |
|
Joel Dice
|
65830a76c5
|
improve efficiency of array bounds checks and generate a thunk table for native functions called indirectly
|
2008-05-31 16:14:27 -06:00 |
|
Joel Dice
|
3c30e815ec
|
optimize multiple loads from the same local variable
|
2008-05-18 22:31:52 -06:00 |
|
Joel Dice
|
f1809897bd
|
fix build
|
2008-05-06 15:13:02 -06:00 |
|
Joel Dice
|
1b5f14d847
|
re-enable tests in Misc and get them working
|
2008-04-28 09:53:48 -06:00 |
|
Joel Dice
|
d5137a7cdf
|
use stack instead of registers to save data across jumps and branches; bugfixes
|
2008-04-26 14:56:03 -06:00 |
|
Joel Dice
|
a7134a2cd7
|
fix build
|
2008-04-17 16:07:32 -06:00 |
|
Joel Dice
|
525f733171
|
Merge branch 'master' into compiler
Conflicts:
src/compile.cpp
src/compiler.cpp
src/compiler.h
|
2008-04-13 13:48:20 -06:00 |
|
Joel Dice
|
2d6eebf4d1
|
more progress on general stack tracing
|
2008-04-09 13:08:13 -06:00 |
|
Joel Dice
|
406f173982
|
handle constant array lengths and indexes properly; various bugfixes
|
2008-03-13 14:50:56 -06:00 |
|
Joel Dice
|
3317149cd2
|
Merge branch 'master' into compiler
Conflicts:
src/x86.cpp
|
2008-02-26 17:56:35 -07:00 |
|
Joel Dice
|
2edaa82801
|
prepend copyright notice and license to all source files; add license.txt and readme.txt
|
2008-02-19 11:06:52 -07:00 |
|
Joel Dice
|
d654c943f3
|
various bugfixes and tweaks in new compiler, primarily related to duplicating stack operands
|
2008-02-17 13:57:40 -07:00 |
|
Joel Dice
|
fa513beb2f
|
rework compiler interface to explicitly accept a size parameter for each operation where relevant
|
2008-02-11 19:06:12 -07:00 |
|
Joel Dice
|
5b2f351f01
|
adapt compile.cpp to new compiler
|
2008-02-11 10:21:41 -07:00 |
|
Joel Dice
|
2f83468b80
|
remove context argument from Allocator::tryAllocate and Allocator::allocate, since we aren't using it after all
|
2008-01-14 16:37:24 -07:00 |
|
Joel Dice
|
0298865efa
|
refactor memory allocation to allow better detection and handling of low-memory conditions
|
2008-01-13 15:05:08 -07:00 |
|
Joel Dice
|
f151d85f4e
|
intercept SIGSEGV and throw NullPointerExceptions
|
2007-12-31 15:40:56 -07:00 |
|
Joel Dice
|
069a760918
|
snapshot
|
2007-12-30 15:24:48 -07:00 |
|
Joel Dice
|
b361e1b637
|
refactor JIT code to make operand size an explicit part of each applicable instruction
|
2007-12-26 09:56:14 -07:00 |
|
Joel Dice
|
31cf1754ce
|
fix frame trace bug leading to incomplete stack coverage during GC; fix thinko pushing arguments in vmInvoke
|
2007-12-23 11:01:41 -07:00 |
|
Joel Dice
|
f116225933
|
fix 64-bit arithmetic support on x86-32
|
2007-12-22 17:00:35 -07:00 |
|
Joel Dice
|
a867e4d587
|
snapshot
|
2007-12-21 17:26:55 -07:00 |
|
Joel Dice
|
4c3a2575ba
|
lots of JIT bugfixes; all top-level tests now pass
|
2007-12-17 13:55:31 -07:00 |
|
Joel Dice
|
fb29fd11d8
|
more JIT bugfixes
|
2007-12-16 14:30:19 -07:00 |
|
Joel Dice
|
796a64a426
|
lots of JIT bugfixes and cleanups
|
2007-12-15 17:24:15 -07:00 |
|
Joel Dice
|
b2147c2c99
|
lots of JIT bugfixes and a few new instructions
|
2007-12-12 15:19:13 -07:00 |
|
Joel Dice
|
fe24005ff0
|
remove virtual stack code due to problems with jumps, to be revisited along with other optimizations when everything is working; various bugfixes
|
2007-12-12 11:59:45 -07:00 |
|
Joel Dice
|
d70e3aaefb
|
JIT progress: new, invokespecial, etc.
|
2007-12-11 16:52:28 -07:00 |
|
Joel Dice
|
fdeafe46fd
|
2+2 test now works with new JIT code
|
2007-12-11 14:26:59 -07:00 |
|