Commit Graph

4161 Commits

Author SHA1 Message Date
Joshua Warner
d4d232db89 Merge pull request #288 from dicej/eiie-errors
only wrap Exceptions in ExceptionInInitializerErrors, not Errors
2014-07-10 14:01:05 -06:00
Joel Dice
1b83ef7eb3 only wrap Exceptions in ExceptionInInitializerErrors, not Errors 2014-07-10 13:43:10 -06:00
Joshua Warner
60df08d023 Merge pull request #283 from dicej/findclass-onload
fix case of JNIEnv::FindClass called from JNI_OnLoad
2014-07-01 21:39:52 -06:00
Joel Dice
5d3c612d0e fix JNIEnv::FindClass calls from JNI_OnLoad for all supported class libraries
This also fixes the some Android build rot and updates the version of
OpenSSL used.
2014-07-01 10:53:26 -06:00
Joel Dice
97e2ef809c Merge pull request #286 from joshuawarner32/allow-stress-builds
allow stress and stress-major as valid mode= settings in the makefile
2014-07-01 09:47:54 -06:00
Joel Dice
735eaaba21 Merge remote-tracking branch 'remotes/dicej/findclass-onload' 2014-07-01 08:39:56 -06:00
Joshua Warner
65e930f73e use stress-major consistently in makefile 2014-07-01 08:05:12 -06:00
Joshua Warner
371e55c112 allow stress and stress-major as valid mode= settings in the makefile (note: all tests fail in both modes) 2014-06-30 13:47:19 -06:00
Joshua Warner
debd0e289a Merge pull request #285 from dicej/warnings
fix unused declaration/definition warnings from GCC 4.9
2014-06-30 10:13:08 -06:00
Joel Dice
254e3f938d fix unused declaration/definition warnings from GCC 4.9 2014-06-30 09:54:01 -06:00
Mike Jensen
5559fbe5e7 Merge pull request #284 from dicej/dump
only generate crash dump if faulting instruction is in main executable
2014-06-30 09:13:22 -06:00
Joel Dice
f40dcddd8d only generate crash dump if faulting instruction is in main executable
The VM should only assume it should/will crash if it triggers an
e.g. EXCEPTION_ACCESS_VIOLATION itself.  In other words, if some
non-VM code triggers such an event, the VM should let that code handle
it as appropriate.  Avian already does this properly, but it also
generates crash dumps for each event encountered if avian.crash.dir is
set, regardless if whether the VM triggered it or not.  This can be a
problem if such events are generated frequently -- a full memory dump
takes a long time to write and a lot of disk space.

Ideally, we'd have some reliable way to determine whether the faulting
instruction pointer belongs to the VM or not, but the closest thing I
could come up with was to compare the module that owns the address
with the module representing the main executable.  This can lead to
both false positives (e.g. application code in the main executable
which is not part of the VM) and false negatives (e.g. when the VM is
loaded from a library instead of the main executable), but it's still
an improvement over the status quo.

Even better would be to ensure that the VM's exception handler is the
very last one to run, so that we know for sure that the error is
unrecoverable and thus it is appropriate to do a full memory dump.
2014-06-27 12:45:05 -06:00
Joel Dice
9e7d27bd15 Merge pull request #281 from joshuawarner32/darwin-platform-reorg
rename platform=darwin -> platform={ios,macosx}, fix ios simulator build
2014-06-24 15:49:54 -06:00
Joel Dice
4dc76a50a2 fix case of JNIEnv::FindClass called from JNI_OnLoad
If an JNI_OnLoad implementation calls FindClass when using the OpenJDK
class library, the calling method on the Java stack will be
ClassLoader.loadLibrary.  However, we must use the class loader of the
class attempting to load the library in this case, not the system
classloader.

Therefore, we now maintain a stack such that the latest class to load
a library in the current thread is at the top, and we use that class
whenever FindClass is called by ClassLoader.loadLibrary (via
JNI_OnLoad).

Note that this patch does not attempt to address the same problem for
the Avian or Android class libraries, but the same strategy should
work for them as well.
2014-06-23 17:25:42 -06:00
Joshua Warner
2eb6746658 Merge pull request #282 from dicej/protect
remove redundant PROTECT usage
2014-06-23 11:30:10 -06:00
Joel Dice
9d4f9901bc remove redundant PROTECT usage
This was causing crashes at GC time since we ended up visiting the
same reference twice in a single GC cycle.
2014-06-23 10:40:22 -06:00
Joshua Warner
23f4e4cc71 update README.md with darwin->{macosx,ios} rename 2014-06-23 08:19:55 -06:00
Joshua Warner
9a6f7bd0bf rename platform=darwin -> platform={ios,macosx}, fix ios simulator build 2014-06-22 12:30:52 -06:00
Joel Dice
dbfd65a44d Merge pull request #280 from joshuawarner32/master
Fix arm compiler abort
2014-06-19 08:16:14 -06:00
Joshua Warner
ada6ce4cc3 fix arm compiler abort 2014-06-11 09:55:39 -06:00
Joshua Warner
df553cbdb6 don't create '1' file from docker/build.sh 2014-06-11 09:54:48 -06:00
Joel Dice
7ec273fc70 Merge pull request #279 from bigfatbrowncat/avian-pack
Added Windows shell API lib for Android classpath
2014-06-09 08:42:33 -06:00
Joel Dice
68e74d1284 Merge pull request #276 from mikehearn/mavericks-fix
Fix makefiles for building on Mavericks
2014-06-05 13:50:41 -06:00
Joel Dice
975b1ddfd8 Merge pull request #275 from mikehearn/prop-fix
Set a property that the LambdaWorks SCrypt library expects to be present
2014-06-05 13:37:47 -06:00
Joshua Warner
749d1bf064 Merge pull request #278 from dicej/idleifnecessary-performance
only enter IdleState if necessary in idleIfNecessary
2014-06-05 08:13:12 -06:00
Joel Dice
b16dd4e63f only enter IdleState if necessary in idleIfNecessary
There's no need to enter IdleState (and incur synchronization
overhead) unless another thread is waiting to enter ExclusiveState.
This change improves the performance of the MemoryRamp test by a
factor of about 100.
2014-06-05 07:49:49 -06:00
Joel Dice
40b78d888d Merge pull request #274 from codespotx/master
Slowdowns if multiple threads access heap
2014-06-05 07:48:00 -06:00
Mike Hearn
6edc4c1b48 Fix makefiles for building on Mavericks 2014-06-05 21:34:26 +08:00
Mike Hearn
87125874b5 Set a property that the LambdaWorks SCrypt library expects to be present. 2014-06-05 21:32:39 +08:00
codespotx
26547f08b6 test/MemoryRamp.java: demonstrate slow multithreaded memory access. 2014-06-04 18:00:06 +02:00
Joel Dice
86648ea054 Merge pull request #263 from joshuawarner32/compiler-types
Introduce stronger typing in compiler
2014-06-01 20:08:44 -06:00
Joel Dice
a37a6fc5b4 update version to 1.0.1 2014-06-01 20:04:34 -06:00
Joshua Warner
05d80aee8b remove static references to TargetBytesPerWord in Compiler 2014-06-01 14:57:05 -06:00
Joshua Warner
1fb6a0bceb fix up creation of ir::Type 2014-06-01 14:22:51 -06:00
Joshua Warner
68b725900e remove old Subroutine comments 2014-06-01 10:04:56 -06:00
Joshua Warner
ec2e153aa8 fixup comments in Subroutine 2014-05-31 21:28:27 -06:00
Joshua Warner
9ed6a16340 make function and constant naming clearer (code review feedback) 2014-05-31 19:39:36 -06:00
Joshua Warner
a35e47b6fb add 'mode=debug bootimage=true' test to ci.sh 2014-05-31 11:18:42 -06:00
Joshua Warner
1d86e668cb inline Frame::*ed* code 2014-05-30 23:57:07 -06:00
Joshua Warner
955f4918b4 parameterize many Frame:: methods by type 2014-05-30 23:57:02 -06:00
Joshua Warner
7abbace8fb replace Frame::StackType with ir::Type 2014-05-30 23:40:24 -06:00
Joshua Warner
37d104871c test line number table generation in subroutines 2014-05-30 23:40:24 -06:00
Joshua Warner
9273d5ca39 remove redundant Compiler::initLocal footprint parameter 2014-05-30 23:40:24 -06:00
Joshua Warner
b6a3ed763c add assert in Compiler::initLocal and fix ensuing problems 2014-05-30 23:40:24 -06:00
Joshua Warner
9a54c50db6 make asserts in loadLocal and storeLocal more strict 2014-05-30 23:40:23 -06:00
Joshua Warner
91c5599fc0 remove redundant Compiler::storeLocal footprint parameter 2014-05-30 23:40:23 -06:00
Joshua Warner
cc4525c31c add type/footprint assert in Compiler::storeLocal 2014-05-30 23:40:23 -06:00
Joshua Warner
e7837c243e remove redundant size parameter to appendBranch, rename type -> op 2014-05-30 23:40:23 -06:00
Joshua Warner
0eda1d7d11 add type asserts in appendBranch 2014-05-30 23:40:23 -06:00
Joshua Warner
c259faf24a remove redundant size parameters to appendReturn and appendCall 2014-05-30 23:40:23 -06:00