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