Home | History | Annotate | Download | only in vm

Lines Matching full:jni

18  * Dalvik implementation of JNI interfaces.
30 All JNI methods must start by changing their thread status to
51 JNI provides explicit control over natively-held references that the GC
58 The references can be created with explicit JNI NewLocalRef / NewGlobalRef
62 Local references are most often created as a side-effect of JNI functions.
83 necessary to allow the GC to move JNI-referenced objects around, then we
94 JNI allows the VM to choose whether it wants to pin the array object or
114 The JNI spec does not define any sort of limit, so the list must be able
134 the JNI local refs in the space normally occupied by local variables.
203 We implement Push/PopLocalFrame with actual stack frames. Before a JNI
221 JNI code was misbehaving rather than called from way down.
231 be plenty. The JNI spec allows us to limit this.
259 * Entry/exit processing for all JNI calls.
551 * get weird if the JNI code is passing the wrong JNIEnv around.
641 dvmDumpIndirectRefTable(pRefTable, "JNI local");
642 LOGE("Failed adding to JNI local ref table (has %d entries)\n",
656 dvmDumpReferenceTable(pRefTable, "JNI local");
657 LOGE("Failed adding to JNI local ref table (has %d entries)\n",
713 LOGW("JNI WARNING: DeleteLocalRef(%p) failed to find entry\n", jobj);
728 LOGW("JNI WARNING: DeleteLocalRef(%p) failed to find entry (valid=%d)\n",
781 * Throwing an exception on failure is problematic, because JNI code
793 dvmDumpIndirectRefTable(&gDvm.jniGlobalRefTable, "JNI global");
794 LOGE("Failed adding to JNI global ref table (%d entries)\n",
817 "JNI global");
818 LOGE("Excessive JNI global references (%d)\n", count);
821 LOGW("Excessive JNI global references (%d)\n", count);
828 dvmDumpReferenceTable(&gDvm.jniGlobalRefTable, "JNI global");
829 LOGE("Failed adding to JNI global ref table (%d entries)\n",
851 dvmDumpReferenceTable(&gDvm.jniGlobalRefTable,"JNI global");
852 LOGE("Excessive JNI global references (%d)\n", count);
855 LOGW("Excessive JNI global references (%d)\n", count);
885 LOGW("JNI: DeleteGlobalRef(%p) failed to find entry\n", jobj);
902 LOGW("JNI: DeleteGlobalRef(%p) failed to find entry (valid=%d)\n",
923 * Get the "magic" JNI weak global ReferenceQueue. It's allocated on
1071 dvmDumpReferenceTable(&gDvm.jniPinRefTable, "JNI pinned array");
1072 LOGE("Failed adding to JNI pinned array ref table (%d entries)\n",
1095 LOGW("JNI: pin count on array %p (%s) is now %d\n",
1117 LOGW("JNI: unpinPrimitiveArray(%p) failed to find entry (valid=%d)\n",
1127 * Dump the contents of the JNI reference tables to the log file.
1138 dvmDumpIndirectRefTable(pLocalRefs, "JNI local");
1139 dvmDumpIndirectRefTable(&gDvm.jniGlobalRefTable, "JNI global");
1141 dvmDumpReferenceTable(pLocalRefs, "JNI local");
1142 dvmDumpReferenceTable(&gDvm.jniGlobalRefTable, "JNI global");
1144 dvmDumpReferenceTable(&gDvm.jniPinRefTable, "JNI pinned array");
1148 * GC helper function to mark all JNI global references.
1207 * Back up over JNI PushLocalFrame frames. This works because the
1270 * is in the JNI local refs table)
1271 * - was returned to it from JNI (and is now in the local refs table)
1272 * - is present in the JNI global refs table
1274 * Used by -Xcheck:jni and GetObjectRefType.
1335 * Register a method that uses JNI calling conventions.
1369 LOGV("JNI-registered %s.%s %s\n", clazz->descriptor, methodName,
1387 * Point "method->nativeFunc" at the JNI bridge, and overload "method->insns"
1466 * Track a JNI MonitorEnter in the current thread.
1468 * The goal is to be able to "implicitly" release all JNI-held monitors
1501 * Track a JNI MonitorExit in the current thread.
1508 LOGE("JNI monitor %p not found in tracking list\n", obj);
1559 * We can execute JNI directly from native code without calling in from
1560 * interpreted code during VM initialization and immediately after JNI
1577 LOGD("JNI: bad stack CRC (0x%08x) -- okay during init\n",
1582 LOGD("JNI: bad stack CRC (0x%08x) -- okay during JNI_OnLoad\n",
1585 LOGW("JNI: bad stack CRC (%08x vs %08x)\n", crc, stackCrc);
1596 * JNI call bridge
1601 * The functions here form a bridge between interpreted code and JNI native
1663 //LOGI("JNI calling %p (%s.%s:%s):\n", method->insns,
1840 * JNI implementation
1873 LOGW("JNI DefineClass is not supported\n");
2095 LOGW("JNI WARNING: addLocal/exception combo\n");
2137 LOGE("JNI posting fatal error: %s\n", msg);
2142 * Push a new JNI frame on the stack, with a new set of locals.
2157 "out of stack in JNI PushLocalFrame");
2173 LOGW("JNI WARNING: too many PopLocalFrame calls\n");
2359 * JNI spec says: obj must not be NULL.
2400 * JNI defines <init> as an instance method, but Dalvik considers it a
2879 * is NULL. (The JNI spec is vague here.)
2991 * According to the JNI reference, "Returns a pointer to a UTF-8 string,
3065 "JNI NewObjectArray");
3144 //LOGV("JNI: set element %d in array %p to %p\n", index, array, value);
3301 LOGI("[Registering JNI native methods for class %s]\n",
3324 * The JNI docs refer to this as a way to reload/relink native libraries,
3418 * The caller is expected to call "release" before doing any JNI calls
3690 * JNI invocation functions
3914 // TODO - free resources associated with JNI-attached daemon threads
4223 * Enable "checked JNI" after the VM has partially started. This must
4226 * This doesn't attempt to rewrite the JNI call bridge associated with
4330 * Convert JNI args to argv.
4334 * look for the -Xcheck:jni stuff here.
4348 } else if (strcmp(optStr, "-Xcheck:jni") == 0) {
4359 LOGW("unknown jni opt starting at '%s'\n", jniOpts);