Joel Dice
eaf30eb909
fix static class initialization when using a boot image
2008-11-29 21:58:09 -07:00
Joel Dice
e44f326377
various bugfixes
2008-11-29 18:39:42 -07:00
Joel Dice
0ec5ad3701
update makefile to optionally build and use a boot image; various bugfixes
2008-11-29 16:08:14 -07:00
Joel Dice
0ef2ee1d02
refactor Segment::Map to support map data which is not allocated as part of the segment data
2008-11-29 13:37:03 -07:00
Joel Dice
702525fd32
support immortal heap area in heap.cpp
2008-11-28 19:31:06 -07:00
Joel Dice
b8056d905c
fix bugs in allocating and populating method object pools
2008-11-28 18:23:01 -07:00
Joel Dice
80815d35f7
fix fixed object tracking in heap.cpp
2008-11-28 18:22:09 -07:00
Joel Dice
4d1af63ed2
initial work on booting from boot image
2008-11-28 15:02:45 -07:00
Joel Dice
d22a9ab270
visit constants in visitRoots so they are included in the final heap image
2008-11-28 11:33:11 -07:00
Joel Dice
02afbd1fa1
handle unresolved constants in moveCM
2008-11-27 21:58:32 -07:00
Joel Dice
6dc181fad5
move allocation zone from makeCodeImage to writeBootImage so it stays in scope until after updateConstants is called
2008-11-27 21:58:04 -07:00
Joel Dice
a8a030140c
various bugfixes
2008-11-27 21:44:04 -07:00
Joel Dice
f698c24ea6
delay resolving method call offsets until all methods have been compiled when creating a boot image
2008-11-27 13:59:40 -07:00
Joel Dice
035aa0ecd4
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian into bootimage
...
Conflicts:
src/compile.cpp
src/machine.h
src/util.h
2008-11-23 17:02:34 -07:00
Joel Dice
20cf42c5e4
more work on boot image creation
2008-11-23 16:58:01 -07:00
Joel Dice
207f093464
never trigger a GC due to an immortal allocation
2008-11-23 11:48:39 -07:00
Joel Dice
fb9b2bf173
avoid creating garbage when iterating over hashmaps
2008-11-22 16:38:41 -07:00
Joel Dice
4392b04fd0
avoid creating unecessary garbage in treeInsertNode and friends
2008-11-22 16:25:35 -07:00
Joel Dice
6162dfafbb
increase heap pool size and fixed footprint threshold constants based on performance profiling and experimentation (second try)
2008-11-22 14:48:10 -07:00
Joel Dice
8a7852172e
increase heap pool size and fixed footprint threshold constants based on performance profiling and experimentation
2008-11-22 14:47:18 -07:00
Joel Dice
2e2925c321
fix backwards logic in treeMapInsert which prevented correct balancing
2008-11-22 14:14:52 -07:00
Joel Dice
6500f1eff6
initial work to support boot image creation and use
2008-11-21 16:20:35 -07:00
Joel Dice
e98da8440e
minor tweak to find function in heapdump.cpp to return 0 where we were returning false (which amounts to the same thing but is less confusing)
2008-11-19 18:09:02 -07:00
Joel Dice
dc2700d913
ensure that the saved exception in a finally block is visited during GC when the jsr instruction is used
2008-11-15 17:28:45 -07:00
Joel Dice
0bef625500
fix thinko in logCompile
2008-11-11 09:17:11 -07:00
Joel Dice
6f1d02dae7
remove the libstdc++ dependency once and for all
...
The trick is to make all destructors non-virtual. This is safe because
we never use the delete operator, which is the only case where virtual
destructors are relevant. This is a better solution than implementing
our own delete operator, because we want libraries loaded at runtime to
use the libstdc++ version, not ours.
2008-10-28 15:40:50 -06:00
Joel Dice
88a1faa2a2
set global system pointer to null in MySystem::dispose in windows.cpp
2008-10-28 12:15:27 -06:00
Joel Dice
01cc868797
remove debug code from builtin.cpp
2008-10-27 15:39:14 -06:00
Joel Dice
4d613f404f
use dbghelp.dll to generate crash dump file on Windows XP and later
...
The dump is written to the directory specified via the avian.crash.dir
system property if that property is set and is not written otherwise.
2008-10-27 15:13:27 -06:00
Joel Dice
003afdc918
fix heap dump facility to visit all roots
2008-10-24 18:48:10 -06:00
Joel Dice
3b67417695
heap dump bugfixes
2008-10-22 18:05:34 -06:00
Joel Dice
d25a6098e6
remove support for hiding constructors and accessors in type-generator.cpp
...
This feature is not being used, and it may be the cause of this bug:
http://groups.google.com/group/avian/browse_thread/thread/955aa1479e9fddca
2008-10-22 08:39:27 -06:00
Joel Dice
e2f3e3da77
enter active state at start of Java_java_lang_Runtime_dumpHeap
2008-10-21 17:49:32 -06:00
Joel Dice
0459a7701c
enter exclusive state before dumping heap
2008-10-21 17:47:38 -06:00
Joel Dice
6a5116e7a7
implement primitive heap dump facility for memory profiling, accessible via Runtime.dumpHeap
...
The proper way to do this is to implement a subset of JVMTI, but this
will do the job for now.
2008-10-21 17:38:20 -06:00
Joel Dice
f38a55cbb2
make linking against libstdc++ the default, overrideable via use-libstdcpp make parameter
2008-10-13 16:31:59 -06:00
Joel Dice
5c04c19e29
look for %s@%d format symbols when resolving native methods on Windows, which obviates the need for -k flag to dlltool
2008-10-10 17:37:36 -06:00
Joel Dice
81cb951b08
fix stack corruption due to spurious pop events generated for jsr bytecodes
2008-10-09 17:14:52 -06:00
dain
c9e0aa824d
Initialized variables to appease gcc 4.2
2008-10-02 13:20:30 -06:00
Joel Dice
07daa9be51
free properties array in Machine::dispose
2008-09-30 17:03:13 -06:00
Joel Dice
df75153a85
handle case of null Stack::pushEvent in CallEvent ctor
2008-09-30 11:22:46 -06:00
Joel Dice
89cc5aa546
initialize JarElement::region in constructor
2008-09-29 18:04:47 -06:00
Joel Dice
823327a00b
fix bytecode address calculations which broke when using -Os
2008-09-29 08:46:44 -06:00
Joel Dice
1910e1b837
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2008-09-26 18:17:41 -06:00
Joel Dice
ac988f7a0d
fix static field lookup from interfaces
2008-09-26 18:17:13 -06:00
J. Treadwell
27e8bd1406
Temporary StringBuilder fix
2008-09-26 11:31:47 -06:00
Joel Dice
96c6c7f8ea
don't log JIT results to stderr unless DebugCompile is true
2008-09-19 16:43:06 -06:00
Joel Dice
1657fb794c
support logging addresses and names of JIT-compiled methods to a file specified via a system property
2008-09-19 11:34:37 -06:00
Joel Dice
c8cc7d931b
maintain a table to look up methods called via JNI
...
This simplifies the JNI implementation for looking up methods. It also
fixes a bug where an applications calls GetStaticMethodID with class A
and then calls CallStatic<Type>Method with class B which extends A. The
old code would look in the wrong method table and thus call the wrong
method.
2008-08-15 12:32:33 -06:00
Joel Dice
78e48996b5
fix handling of native methods in stack walking code
2008-08-14 12:13:05 -06:00