Commit Graph

187 Commits

Author SHA1 Message Date
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