History log of /dalvik/vm/IndirectRefTable.c
Revision Date Author Comments
72e93344b4d1ffc71e9c832ec23de0657e5b04a5 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
5d599603ea3d759aabe9a6b274c11b76191d1792 01-Sep-2009 Andy McFadden <fadden@android.com> Minor debugging tweaks to IndirectRefTable.

Added serial number checks, fixed tests, updated logging.
0423f0e813a3807168fe5524405eb96675532097 26-Aug-2009 Andy McFadden <fadden@android.com> Fix some JNI indirect reference stuff.

Convert where needed, don't convert where not needed, and make sure
we're using the right one.

With this, my ad-hoc tests pass, and the boot proceeds until we hit a
failure that looks like it might be due to logic outside the VM.
ab00d455ea67fbf4090567bb09ead8017896ea61 19-Aug-2009 Andy McFadden <fadden@android.com> Progress toward indirect JNI references.

Switch from simple typecasts to conversion functions for the objects
passed in and out of JNI calls. No real change here; object references
are still just pointers.

Use explicit pin/unpin calls for primitive arrays. For GetStringChars
we now pin the char[] rather than the String object. (Which doesn't
make much difference in the grand scheme of things, since you need to
keep the String to pass into the release function anyway.)
734155efc18543eab20b763f9a315ab1a44240ac 17-Jul-2009 Andy McFadden <fadden@android.com> Indirect reference table implementation.

This change introduces the "indirect" reference table, which will be
replacing ReferenceTable for local and global JNI references. The key
difference is that, instead of handing raw Object pointers to JNI, we
will be giving them a magic value that can be converted back to an
Object. The goal is to avoid having to pin every object that native
code is aware of.

The code is not actually used anywhere yet.

Also bundled up here:
- added detail to a log message
- fixed a string format issue in the internal assert() definition
- very minor optimization in "remove" function in ReferenceTable
- quiet a gcc complaint
- only include the hash table regression test in builds that invoke it