Commit ID 925235b04b93549e264b0d6e52136aa29b506cc0
|Contributor:||Robert Lougher||Files Modified:||2|
|Date:||21-June-2012 at 00:51||Lines Added:||28|
|Repository:||git://git.berlios.de/jamvm master||Lines Removed:||4|
|Commit Comment:||Add missing REF_TO_OBJs for references passed from JNI
In JamVM, JNI references are real direct object references
and not handles. However, the bottom bits are tagged to
record the reference type (Global, Weak, etc.). This
means the bits must be masked off whenever a reference
is passed from a JNI method and is used within the VM.
Somehow, I forgot to mask the bits off when a reference
is returned from a JNI method, and also when a reference
is stored into an object field or an array. This has
been present since the start of 2010, so I'm surprised
it has taken so long to show up!
The error showed up with Qt Jambi, which is a wrapper
which enables Qt to be used from Java (crash reported
by Xerxes Ranby).
Signed-off-by: Robert Lougher <ro...@jamvm.org.uk>
|Language||Code Added||Code Removed||Comments Added||Comment Removed||Blanks Added||Blanks Removed|
Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.