mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
Merge
This commit is contained in:
commit
7e8d75378e
712 changed files with 22732 additions and 13609 deletions
|
@ -56,6 +56,31 @@
|
|||
#include "utilities/resourceHash.hpp"
|
||||
|
||||
|
||||
void JNIHandleMark::push_jni_handle_block() {
|
||||
JavaThread* thread = JavaThread::current();
|
||||
if (thread != NULL) {
|
||||
// Allocate a new block for JNI handles.
|
||||
// Inlined code from jni_PushLocalFrame()
|
||||
JNIHandleBlock* java_handles = ((JavaThread*)thread)->active_handles();
|
||||
JNIHandleBlock* compile_handles = JNIHandleBlock::allocate_block(thread);
|
||||
assert(compile_handles != NULL && java_handles != NULL, "should not be NULL");
|
||||
compile_handles->set_pop_frame_link(java_handles);
|
||||
thread->set_active_handles(compile_handles);
|
||||
}
|
||||
}
|
||||
|
||||
void JNIHandleMark::pop_jni_handle_block() {
|
||||
JavaThread* thread = JavaThread::current();
|
||||
if (thread != NULL) {
|
||||
// Release our JNI handle block
|
||||
JNIHandleBlock* compile_handles = thread->active_handles();
|
||||
JNIHandleBlock* java_handles = compile_handles->pop_frame_link();
|
||||
thread->set_active_handles(java_handles);
|
||||
compile_handles->set_pop_frame_link(NULL);
|
||||
JNIHandleBlock::release_block(compile_handles, thread); // may block
|
||||
}
|
||||
}
|
||||
|
||||
// Entry to native method implementation that transitions current thread to '_thread_in_vm'.
|
||||
#define C2V_VMENTRY(result_type, name, signature) \
|
||||
JNIEXPORT result_type JNICALL c2v_ ## name signature { \
|
||||
|
@ -89,6 +114,7 @@ oop CompilerToVM::get_jvmci_type(Klass* klass, TRAPS) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
int CompilerToVM::Data::Klass_vtable_start_offset;
|
||||
int CompilerToVM::Data::Klass_vtable_length_offset;
|
||||
|
||||
|
@ -987,6 +1013,8 @@ C2V_END
|
|||
C2V_VMENTRY(jint, installCode, (JNIEnv *jniEnv, jobject, jobject target, jobject compiled_code, jobject installed_code, jobject speculation_log))
|
||||
ResourceMark rm;
|
||||
HandleMark hm;
|
||||
JNIHandleMark jni_hm;
|
||||
|
||||
Handle target_handle(THREAD, JNIHandles::resolve(target));
|
||||
Handle compiled_code_handle(THREAD, JNIHandles::resolve(compiled_code));
|
||||
CodeBlob* cb = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue