Mercurial > hg > graal-jvmci-8
comparison src/share/vm/jvmci/jvmciCodeInstaller.hpp @ 22535:ca418f35d728
Use wordKind instead of Kind.Object in backend.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Tue, 08 Sep 2015 17:43:41 +0200 |
parents | 90c4254dc25a |
children | ea6d1727fdc6 |
comparison
equal
deleted
inserted
replaced
22534:bab91f9ae795 | 22535:ca418f35d728 |
---|---|
69 #ifndef PRODUCT | 69 #ifndef PRODUCT |
70 jobject _comments_handle; | 70 jobject _comments_handle; |
71 #endif | 71 #endif |
72 | 72 |
73 bool _has_wide_vector; | 73 bool _has_wide_vector; |
74 jobject _word_kind_handle; | |
74 | 75 |
75 MarkId _next_call_type; | 76 MarkId _next_call_type; |
76 address _invoke_mark_pc; | 77 address _invoke_mark_pc; |
77 | 78 |
78 CodeSection* _instructions; | 79 CodeSection* _instructions; |
105 objArrayOop exception_handlers() { return (objArrayOop) JNIHandles::resolve(_exception_handlers_handle); } | 106 objArrayOop exception_handlers() { return (objArrayOop) JNIHandles::resolve(_exception_handlers_handle); } |
106 #ifndef PRODUCT | 107 #ifndef PRODUCT |
107 objArrayOop comments() { return (objArrayOop) JNIHandles::resolve(_comments_handle); } | 108 objArrayOop comments() { return (objArrayOop) JNIHandles::resolve(_comments_handle); } |
108 #endif | 109 #endif |
109 | 110 |
111 oop word_kind() { return (oop) JNIHandles::resolve(_word_kind_handle); } | |
112 | |
110 public: | 113 public: |
111 | 114 |
112 CodeInstaller() : _arena(mtCompiler) {} | 115 CodeInstaller() : _arena(mtCompiler) {} |
113 JVMCIEnv::CodeInstallResult install(Handle target, Handle& compiled_code, CodeBlob*& cb, Handle installed_code, Handle speculation_log); | 116 JVMCIEnv::CodeInstallResult install(Handle target, Handle& compiled_code, CodeBlob*& cb, Handle installed_code, Handle speculation_log); |
114 | 117 |
115 static address runtime_call_target_address(oop runtime_call); | 118 static address runtime_call_target_address(oop runtime_call); |
116 static VMReg get_hotspot_reg(jint jvmciRegisterNumber); | 119 static VMReg get_hotspot_reg(jint jvmciRegisterNumber); |
117 static bool is_general_purpose_reg(VMReg hotspotRegister); | 120 static bool is_general_purpose_reg(VMReg hotspotRegister); |
118 | 121 |
119 private: | 122 private: |
123 Location::Type get_oop_type(oop value); | |
120 ScopeValue* get_scope_value(oop value, BasicType type, GrowableArray<ScopeValue*>* objects, ScopeValue* &second); | 124 ScopeValue* get_scope_value(oop value, BasicType type, GrowableArray<ScopeValue*>* objects, ScopeValue* &second); |
121 MonitorValue* get_monitor_value(oop value, GrowableArray<ScopeValue*>* objects); | 125 MonitorValue* get_monitor_value(oop value, GrowableArray<ScopeValue*>* objects); |
122 | 126 |
123 // extract the fields of the CompilationResult | 127 // extract the fields of the CompilationResult |
124 void initialize_fields(oop target_method); | 128 void initialize_fields(oop target, oop target_method); |
125 void initialize_dependencies(oop target_method); | 129 void initialize_dependencies(oop target_method); |
126 | 130 |
127 int estimate_stub_entries(); | 131 int estimate_stub_entries(); |
128 | 132 |
129 // perform data and call relocation on the CodeBuffer | 133 // perform data and call relocation on the CodeBuffer |