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