47 } while (0)
48
49 #define CHECK_JNI_EXCEPTION(env) \
50 do { \
51 JavaThread* THREAD = JavaThread::thread_from_jni_environment(env); \
52 if (HAS_PENDING_EXCEPTION) { \
53 return; \
54 } \
55 } while (0)
56
57 class WhiteBox : public AllStatic {
58 private:
59 static bool _used;
60 public:
61 static bool used() { return _used; }
62 static void set_used() { _used = true; }
63 static int offset_for_field(const char* field_name, oop object,
64 Symbol* signature_symbol);
65 static const char* lookup_jstring(const char* field_name, oop object);
66 static bool lookup_bool(const char* field_name, oop object);
67
68 static int array_bytes_to_length(size_t bytes);
69 static void register_methods(JNIEnv* env, jclass wbclass, JavaThread* thread,
70 JNINativeMethod* method_array, int method_count);
71 static void register_extended(JNIEnv* env, jclass wbclass, JavaThread* thread);
72 };
73
74
75
76 #endif // SHARE_VM_PRIMS_WHITEBOX_HPP
|
47 } while (0)
48
49 #define CHECK_JNI_EXCEPTION(env) \
50 do { \
51 JavaThread* THREAD = JavaThread::thread_from_jni_environment(env); \
52 if (HAS_PENDING_EXCEPTION) { \
53 return; \
54 } \
55 } while (0)
56
57 class WhiteBox : public AllStatic {
58 private:
59 static bool _used;
60 public:
61 static bool used() { return _used; }
62 static void set_used() { _used = true; }
63 static int offset_for_field(const char* field_name, oop object,
64 Symbol* signature_symbol);
65 static const char* lookup_jstring(const char* field_name, oop object);
66 static bool lookup_bool(const char* field_name, oop object);
67 static int get_blob_type(const CodeBlob* code);
68 static CodeBlob* allocate_code_blob(int size, int blob_type);
69 static int array_bytes_to_length(size_t bytes);
70 static void register_methods(JNIEnv* env, jclass wbclass, JavaThread* thread,
71 JNINativeMethod* method_array, int method_count);
72 static void register_extended(JNIEnv* env, jclass wbclass, JavaThread* thread);
73 };
74
75
76
77 #endif // SHARE_VM_PRIMS_WHITEBOX_HPP
|