Joel Dice
|
f1809897bd
|
fix build
|
2008-05-06 15:13:02 -06:00 |
|
Joel Dice
|
1cb9d0327a
|
initialize body of exception handler table for GC safety
|
2008-05-05 19:17:29 -06:00 |
|
Joel Dice
|
7dcd109567
|
assert thread is in exclusive or exit state in removeMonitor
|
2008-05-05 07:07:59 -06:00 |
|
Joel Dice
|
ebb498587f
|
enter exclusive state in collect function instead of requiring caller to enter that state before calling
|
2008-05-05 07:04:53 -06:00 |
|
Joel Dice
|
efb30b2256
|
progress towards more flexible register allocation in compiler
|
2008-05-04 14:55:34 -06:00 |
|
Joel Dice
|
2e108861da
|
remove operand marshalling from the assembler in favor of doing it in the compiler
|
2008-05-04 13:09:12 -06:00 |
|
Joel Dice
|
7b809efd3f
|
fix shift bugs
|
2008-04-30 12:44:27 -06:00 |
|
Joel Dice
|
bf08cc4c53
|
fix array bounds checks
|
2008-04-30 11:47:25 -06:00 |
|
Joel Dice
|
918193fa60
|
fix 32-bit right unsigned shifts on amd64
|
2008-04-30 11:15:21 -06:00 |
|
Joel Dice
|
844841937f
|
fix use of wrong constant in x86.cpp
|
2008-04-30 10:46:46 -06:00 |
|
Joel Dice
|
2226627e53
|
fix incorrect comment
|
2008-04-30 10:43:33 -06:00 |
|
Joel Dice
|
e2b24263a2
|
various bugfixes
|
2008-04-30 09:44:17 -06:00 |
|
Joel Dice
|
3909e3f032
|
fix thinko concerning stack resets in compile()
|
2008-04-29 17:18:28 -06:00 |
|
Joel Dice
|
7640590153
|
implement orCR and compareRC
|
2008-04-29 17:16:53 -06:00 |
|
Joel Dice
|
59f92b6208
|
support 64-bit multiplies on 32-bit systems
|
2008-04-29 16:11:17 -06:00 |
|
Joel Dice
|
4c2d44099b
|
support more 64-bit operations on 32-bit systems
|
2008-04-29 14:24:52 -06:00 |
|
Joel Dice
|
3fa3fd0796
|
fix stack index calculation when pushing operands
|
2008-04-29 14:24:08 -06:00 |
|
Joel Dice
|
4652b7aea0
|
enable 64-bit various operations on 32-bit systems
|
2008-04-29 10:56:29 -06:00 |
|
Joel Dice
|
9dafe37ff3
|
fix code ordering bug in MyCompiler::peek
|
2008-04-29 10:55:56 -06:00 |
|
Joel Dice
|
377e2864d9
|
fix argument marshalling for floating point helper functions on 32-bit systems
|
2008-04-29 10:40:44 -06:00 |
|
Joel Dice
|
d50e3aaee0
|
preserve operands to CombineEvent and TranslateEvent when necessary
|
2008-04-29 10:25:20 -06:00 |
|
Joel Dice
|
22382a5c8b
|
fix amd64 regression in PushEvent::skipMove
|
2008-04-29 09:30:41 -06:00 |
|
Joel Dice
|
c96f44d77d
|
don't skip move when MoveEvent is followed by a PushEvent which is not active; use existing register site in ValueSite when possible
|
2008-04-29 08:59:12 -06:00 |
|
Joel Dice
|
7791b1df80
|
support 64-bit operands on 32-bit systems in compareCR
|
2008-04-29 08:57:24 -06:00 |
|
Joel Dice
|
a07a189ddb
|
fix various register marshalling bugs
|
2008-04-28 18:58:02 -06:00 |
|
Joel Dice
|
8738bddcb9
|
bugfixes, mainly concerning 32-bit machines
|
2008-04-28 16:08:31 -06:00 |
|
Joel Dice
|
90ae9a70ee
|
fix encoding reg-to-reg moves of one and two byte sizes
|
2008-04-28 10:52:54 -06:00 |
|
Joel Dice
|
1b5f14d847
|
re-enable tests in Misc and get them working
|
2008-04-28 09:53:48 -06:00 |
|
Joel Dice
|
5e45475f36
|
fix unused parameter warnings
|
2008-04-27 16:43:15 -06:00 |
|
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
|
505e0bd7db
|
treat 4-byte reg-to-reg moves as 8-byte moves on amd64 since the intention is to copy integer values verbatim; all tests now pass on amd64
|
2008-04-27 16:25:17 -06:00 |
|
Joel Dice
|
8be4cf8fa6
|
fix pushState and popState to work as intended
|
2008-04-27 15:58:29 -06:00 |
|
Joel Dice
|
cc64668657
|
add support for more instructions to assembler
|
2008-04-27 14:42:57 -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
|
fdfeabbb37
|
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
|
2008-04-24 16:13:03 -06:00 |
|
Joel Dice
|
0655b55378
|
resolve catch type for each exception handler during compilation
|
2008-04-24 16:06:36 -06:00 |
|
Eric Scharff
|
584e1005e3
|
Fix Mac compiler warnings for fprintf format strings
|
2008-04-24 11:07:20 -06:00 |
|
Joel Dice
|
18d25468fe
|
optimize common case of setting a single object field so we don't acquire the heap lock unnecessarily
|
2008-04-23 18:08:24 -06:00 |
|
Joel Dice
|
1d7b00baff
|
backport getstatic/putstatic optimization from compiler branch
|
2008-04-23 16:56:02 -06:00 |
|
Joel Dice
|
f49174da28
|
set the base pointer in vmNativeCall to point to the return address per convention, allowing us to safely walk the stack in Process::getStackTrace
|
2008-04-23 15:07:14 -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
|
864e079aca
|
don't bother defining ArrayElementSizeOf<type> if it has no array elements
|
2008-04-21 16:32:33 -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
|
571bffde09
|
fix some issues with 64-bit moves on 32-bit machines
|
2008-04-20 20:50:46 -06:00 |
|
Joel Dice
|
6b4cafd962
|
fix argument marshalling on amd64
|
2008-04-20 18:21:48 -06:00 |
|
Joel Dice
|
2289d13cbb
|
make debug logging more concise
|
2008-04-20 18:20:38 -06:00 |
|
Joel Dice
|
a259beccdc
|
implement xorRR, remove unused Assembler::stackSyncRegister
|
2008-04-20 16:19:11 -06:00 |
|
Joel Dice
|
9976c1132c
|
fix instruction callR
|
2008-04-20 14:43:28 -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
|
281bdb1fab
|
avoid inserting redundant stack sync events
|
2008-04-19 20:05:17 -06:00 |
|
Joel Dice
|
ddada5551d
|
fix argument order bug in moveZRR
|
2008-04-19 20:04:15 -06:00 |
|
Joel Dice
|
fb06f7634c
|
fix thinko in MyCompiler::pushed
|
2008-04-19 19:08:26 -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
|
8fd1290d02
|
various data flow bugfixes
|
2008-04-18 12:36:57 -06:00 |
|
Joel Dice
|
a053a228f0
|
optimize move,op sequences where op doesn't care where its source operand comes from
|
2008-04-18 11:30:54 -06:00 |
|
Joel Dice
|
c1ba7a7d58
|
optimize op,move sequences where op can place its result directly into the move's destination
|
2008-04-18 11:00:55 -06:00 |
|
Joel Dice
|
44b3a7c36d
|
various bugfixes
|
2008-04-17 22:16:20 -06:00 |
|
Joel Dice
|
329009ae97
|
bugfixes involving stack operations
|
2008-04-17 21:47:42 -06:00 |
|
Joel Dice
|
af2c2e019c
|
various bugfixes
|
2008-04-17 18:39:41 -06:00 |
|
Joel Dice
|
a7134a2cd7
|
fix build
|
2008-04-17 16:07:32 -06:00 |
|
Joel Dice
|
4d5a57671a
|
Merge branch 'master' into compiler
|
2008-04-17 14:52:23 -06:00 |
|
Joel Dice
|
f8a5d02f67
|
more compiler work
|
2008-04-17 14:48:26 -06:00 |
|
Joel Dice
|
3f45d39582
|
more compiler work
|
2008-04-16 20:55:38 -06:00 |
|
Joel Dice
|
f85510c4c4
|
more work on design sketch of new compiler
|
2008-04-16 14:58:21 -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
|
95e5f8203c
|
enter active state before generating stack trace in Thread.getTrace
|
2008-04-15 23:27:42 -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
|
b7ea937708
|
rough sketch of refined compiler design
|
2008-04-13 12:54:50 -06:00 |
|
Joel Dice
|
bd8d1c05d0
|
commit and reserve pages when calling VirtualAlloc on Windows
|
2008-04-13 12:25:24 -06:00 |
|
Joel Dice
|
0d3e6b7793
|
simplify memory allocation interfaces
|
2008-04-13 12:15:04 -06:00 |
|
Joel Dice
|
d77ffa8e21
|
convert relative calls to absolute indirect calls on x86_64, in case we need to jump further than a 32-bit displacement will allow
|
2008-04-13 11:16:27 -06:00 |
|
Joel Dice
|
85712d183b
|
fix stack walking from native methods
|
2008-04-11 18:06:04 -06:00 |
|
Joel Dice
|
31e5e4c286
|
fix GC safety bugs in leftRotate and rightRotate
|
2008-04-11 18:05:03 -06:00 |
|
Joel Dice
|
7eef2e7918
|
fix GC safety bug in cloneTreeNode
|
2008-04-11 17:40:36 -06:00 |
|
Joel Dice
|
33b32398c2
|
fix code ordering bug in finder.cpp
|
2008-04-11 17:37:56 -06:00 |
|
Joel Dice
|
aa9cb5c086
|
fix windows build
|
2008-04-11 17:01:17 -06:00 |
|
Joel Dice
|
d9ec8e20bf
|
implement Thread.getStackTrace, activeCount, and enumerate
|
2008-04-11 16:48:39 -06:00 |
|
Joel Dice
|
04c3abc967
|
fix broken thread tree traversal in machine.cpp
|
2008-04-11 16:48:05 -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
|
ebffc5852c
|
various search tree fixes
|
2008-04-07 18:14:59 -06:00 |
|
Joel Dice
|
3fb90fdaa4
|
limit scope of lock acquisition in compileMethod2
|
2008-04-07 18:03:58 -06:00 |
|
Joel Dice
|
2dba75d7f2
|
fix reversed logic in treeNodeRed
|
2008-04-07 18:03:16 -06:00 |
|