Joel Dice
9f8d77a2a9
Merge branch 'master' into compiler
...
Conflicts:
src/compile.cpp
src/compiler.cpp
src/compiler.h
2008-04-27 16:40:53 -06:00
Joel Dice
5b7372a3bb
various bugfixes; majority of tests now pass
2008-04-27 14:15:18 -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
23572b58bd
fix code ordering bug in MyProcessor::getStackTrace which caused the stack trace footprint calculation to be inaccurate
2008-04-25 16:18:19 -06:00
Joel Dice
0655b55378
resolve catch type for each exception handler during compilation
2008-04-24 16:06:36 -06:00
Joel Dice
1d7b00baff
backport getstatic/putstatic optimization from compiler branch
2008-04-23 16:56:02 -06:00
Joel Dice
7e1a2ea876
don't remove nodes from call node table, since it leads to a race condition
2008-04-23 15:01:47 -06:00
Joel Dice
d072b71c39
nth attempt to clean up MyStackWalker
2008-04-23 10:33:31 -06:00
Joel Dice
9e8e4b3de7
fix stack walker to properly handle the case of a native method calling another native method
2008-04-22 10:21:54 -06:00
Joel Dice
c7d679467f
handle case of visiting thread when it is executing one of the transition procedures
2008-04-22 09:31:40 -06:00
Joel Dice
df5258d1d8
various bugfixes concerning Thread.getStackTrace
2008-04-21 16:36:13 -06:00
Joel Dice
efb4e0241b
do all java->native class via Compiler::indirectCall to ensure we can always make an accurate stack trace (part 2)
2008-04-21 11:31:10 -06:00
Joel Dice
8c450a75a1
do all java->native class via Compiler::indirectCall to ensure we can always make an accurate stack trace
2008-04-21 11:29:36 -06:00
Joel Dice
2289d13cbb
make debug logging more concise
2008-04-20 18:20:38 -06:00
Joel Dice
d6c3b2327f
bugfixes; enums test now succeeds
2008-04-20 13:35:36 -06:00
Joel Dice
61f866ce89
do a garbage collection in compile.cpp if throwing an exception that required creating a backup heap
2008-04-20 10:21:32 -06:00
Joel Dice
8ebff705d6
various fixes
2008-04-19 23:23:08 -06:00
Joel Dice
8baa2bbd87
insert stack sync events before each instruction with more than one predecessor
2008-04-19 18:43:12 -06:00
Joel Dice
50eb1cbb71
peek at stack values during bounds checks
2008-04-19 16:13:57 -06:00
Joel Dice
eb77687a57
hello, world
2008-04-19 15:52:45 -06:00
Joel Dice
7b8b7a7b11
snapshot
2008-04-19 14:41:31 -06:00
Joel Dice
b19c52b501
control flow bugfixes
2008-04-19 01:03:59 -06:00
Joel Dice
ab7314e526
more bugfixes
2008-04-18 18:19:45 -06:00
Joel Dice
44b3a7c36d
various bugfixes
2008-04-17 22:16:20 -06:00
Joel Dice
a7134a2cd7
fix build
2008-04-17 16:07:32 -06:00
Joel Dice
df4a56d40c
Merge branch 'compiler' of oss.readytalk.com:/var/local/git/avian
2008-04-16 11:16:36 -06:00
Joel Dice
479c48f1dd
fix printf warning
2008-04-15 23:26:58 -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
0d3e6b7793
simplify memory allocation interfaces
2008-04-13 12:15:04 -06:00
Joel Dice
85712d183b
fix stack walking from native methods
2008-04-11 18:06:04 -06:00
Joel Dice
aa9cb5c086
fix windows build
2008-04-11 17:01:17 -06:00
Joel Dice
f7a79f4874
fix frame object map size calculations
2008-04-11 15:00:18 -06:00
Joel Dice
bd618a51f6
translate exception handler table into a form which does not depend on the constant pool after JIT compiling a method
2008-04-11 13:03:40 -06:00
Joel Dice
2cf62a5926
various bugfixes in new stack trace code
2008-04-10 17:48:28 -06:00
Joel Dice
2d6eebf4d1
more progress on general stack tracing
2008-04-09 13:08:13 -06:00
Joel Dice
3fb90fdaa4
limit scope of lock acquisition in compileMethod2
2008-04-07 18:03:58 -06:00
Joel Dice
2c18ced808
use methodForIp in SegFaultHandler::handleSignal
2008-04-07 17:51:32 -06:00
Joel Dice
7ee29d4939
progress towards general stack trace support
2008-04-07 17:47:41 -06:00
Joel Dice
4102c97be3
fix bugs wrt calling methods via JNI
2008-04-01 11:37:59 -06:00
Joel Dice
9fe2cbff43
implement l2d and l2f byte codes
2008-03-20 18:37:58 -06:00
Joel Dice
a51c4cef39
bugfixes
2008-03-16 13:38:43 -06:00
Joel Dice
684b402e82
bugfixes and new instructions
2008-03-15 17:54:20 -06:00
Joel Dice
6bf0ca5bd9
various bugfixes and new instructions
2008-03-15 14:24:04 -06:00
Joel Dice
406f173982
handle constant array lengths and indexes properly; various bugfixes
2008-03-13 14:50:56 -06:00
Joel Dice
7cd79736c2
fix tracking of stack operations in compile.cpp
2008-03-11 10:57:35 -06:00
Joel Dice
9e2e614a15
various fixes to get invokevirtual working
2008-03-10 16:37:21 -06:00
Joel Dice
11dea0ad8e
don't bother calling methods which are known do nothing
2008-03-10 07:28:21 -06:00
Joel Dice
7cfb89bd2a
Merge branch 'master' into compiler
2008-03-09 11:31:55 -06:00
Joel Dice
9fe00836f7
fix stack mapping code to do as many passes as necessary
...
Previously, we had been doing exactly two passes over the event log to
caculate the stack object reference map at each trace point. It turns
out the correct number of passes depends on how many incorrect
assumptions we make about what the stack looks like at instructions with
multiple predecessors (i.e. targets of jumps and branches).
Each time we detect we've made one or more incorrect assumptions during
a pass, we must do another pass to correct those assumptions. That pass
may in turn reveal further incorrect assumptions, and so on.
2008-03-05 14:44:17 -07:00
Joel Dice
3317149cd2
Merge branch 'master' into compiler
...
Conflicts:
src/x86.cpp
2008-02-26 17:56:35 -07:00