145 oop_field(site_ConstantReference, constant, "Ljdk/vm/ci/meta/VMConstant;") \ 146 end_class \ 147 start_class(site_DataSectionReference) \ 148 int_field(site_DataSectionReference, offset) \ 149 end_class \ 150 start_class(site_InfopointReason) \ 151 static_oop_field(site_InfopointReason, SAFEPOINT, "Ljdk/vm/ci/code/site/InfopointReason;") \ 152 static_oop_field(site_InfopointReason, CALL, "Ljdk/vm/ci/code/site/InfopointReason;") \ 153 static_oop_field(site_InfopointReason, IMPLICIT_EXCEPTION, "Ljdk/vm/ci/code/site/InfopointReason;") \ 154 end_class \ 155 start_class(site_Infopoint) \ 156 oop_field(site_Infopoint, debugInfo, "Ljdk/vm/ci/code/DebugInfo;") \ 157 oop_field(site_Infopoint, reason, "Ljdk/vm/ci/code/site/InfopointReason;") \ 158 end_class \ 159 start_class(site_ExceptionHandler) \ 160 int_field(site_ExceptionHandler, handlerPos) \ 161 end_class \ 162 start_class(site_Mark) \ 163 oop_field(site_Mark, id, "Ljava/lang/Object;") \ 164 end_class \ 165 start_class(CompilationRequestResult) \ 166 oop_field(CompilationRequestResult, failureMessage, "Ljava/lang/String;") \ 167 boolean_field(CompilationRequestResult, retry) \ 168 int_field(CompilationRequestResult, inlinedBytecodes) \ 169 end_class \ 170 start_class(DebugInfo) \ 171 oop_field(DebugInfo, bytecodePosition, "Ljdk/vm/ci/code/BytecodePosition;") \ 172 oop_field(DebugInfo, referenceMap, "Ljdk/vm/ci/code/ReferenceMap;") \ 173 oop_field(DebugInfo, calleeSaveInfo, "Ljdk/vm/ci/code/RegisterSaveLayout;") \ 174 objArrayOop_field(DebugInfo, virtualObjectMapping, "[Ljdk/vm/ci/code/VirtualObject;") \ 175 end_class \ 176 start_class(HotSpotReferenceMap) \ 177 objArrayOop_field(HotSpotReferenceMap, objects, "[Ljdk/vm/ci/code/Location;") \ 178 objArrayOop_field(HotSpotReferenceMap, derivedBase, "[Ljdk/vm/ci/code/Location;") \ 179 typeArrayOop_field(HotSpotReferenceMap, sizeInBytes, "[I") \ 180 int_field(HotSpotReferenceMap, maxRegisterSize) \ 181 end_class \ 182 start_class(RegisterSaveLayout) \ 183 objArrayOop_field(RegisterSaveLayout, registers, "[Ljdk/vm/ci/code/Register;") \ 184 typeArrayOop_field(RegisterSaveLayout, slots, "[I") \ 185 end_class \ 186 start_class(BytecodeFrame) \ 187 objArrayOop_field(BytecodeFrame, values, "[Ljdk/vm/ci/meta/JavaValue;") \ 188 objArrayOop_field(BytecodeFrame, slotKinds, "[Ljdk/vm/ci/meta/JavaKind;") \ 266 start_class(HotSpotSpeculationLog) \ 267 oop_field(HotSpotSpeculationLog, lastFailed, "Ljava/lang/Object;") \ 268 end_class \ 269 start_class(HotSpotStackFrameReference) \ 270 oop_field(HotSpotStackFrameReference, compilerToVM, "Ljdk/vm/ci/hotspot/CompilerToVM;") \ 271 long_field(HotSpotStackFrameReference, stackPointer) \ 272 int_field(HotSpotStackFrameReference, frameNumber) \ 273 int_field(HotSpotStackFrameReference, bci) \ 274 oop_field(HotSpotStackFrameReference, method, "Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;") \ 275 objArrayOop_field(HotSpotStackFrameReference, locals, "[Ljava/lang/Object;") \ 276 typeArrayOop_field(HotSpotStackFrameReference, localIsVirtual, "[Z") \ 277 end_class \ 278 start_class(HotSpotMetaData) \ 279 typeArrayOop_field(HotSpotMetaData, pcDescBytes, "[B") \ 280 typeArrayOop_field(HotSpotMetaData, scopesDescBytes, "[B") \ 281 typeArrayOop_field(HotSpotMetaData, relocBytes, "[B") \ 282 typeArrayOop_field(HotSpotMetaData, exceptionBytes, "[B") \ 283 typeArrayOop_field(HotSpotMetaData, oopMaps, "[B") \ 284 objArrayOop_field(HotSpotMetaData, metadata, "[Ljava/lang/String;") \ 285 end_class \ 286 start_class(HotSpotOopMap) \ 287 int_field(HotSpotOopMap, offset) \ 288 int_field(HotSpotOopMap, count) \ 289 typeArrayOop_field(HotSpotOopMap, data, "[B") \ 290 end_class \ 291 start_class(HotSpotConstantPool) \ 292 long_field(HotSpotConstantPool, metaspaceConstantPool) \ 293 end_class \ 294 start_class(HotSpotJVMCIRuntime) \ 295 objArrayOop_field(HotSpotJVMCIRuntime, trivialPrefixes, "[Ljava/lang/String;") \ 296 int_field(HotSpotJVMCIRuntime, compilationLevelAdjustment) \ 297 end_class \ 298 /* end*/ 299 300 #define START_CLASS(name) \ 301 class name : AllStatic { \ 302 private: \ 303 friend class JVMCICompiler; \ 304 static void check(oop obj, const char* field_name, int offset) { \ 305 assert(obj != NULL, "NULL field access of %s.%s", #name, field_name); \ 306 assert(obj->is_a(SystemDictionary::name##_klass()), "wrong class, " #name " expected, found %s", obj->klass()->external_name()); \ 307 assert(offset != 0, "must be valid offset"); \ 308 } \ 309 static void compute_offsets(TRAPS); \ 310 public: \ | 145 oop_field(site_ConstantReference, constant, "Ljdk/vm/ci/meta/VMConstant;") \ 146 end_class \ 147 start_class(site_DataSectionReference) \ 148 int_field(site_DataSectionReference, offset) \ 149 end_class \ 150 start_class(site_InfopointReason) \ 151 static_oop_field(site_InfopointReason, SAFEPOINT, "Ljdk/vm/ci/code/site/InfopointReason;") \ 152 static_oop_field(site_InfopointReason, CALL, "Ljdk/vm/ci/code/site/InfopointReason;") \ 153 static_oop_field(site_InfopointReason, IMPLICIT_EXCEPTION, "Ljdk/vm/ci/code/site/InfopointReason;") \ 154 end_class \ 155 start_class(site_Infopoint) \ 156 oop_field(site_Infopoint, debugInfo, "Ljdk/vm/ci/code/DebugInfo;") \ 157 oop_field(site_Infopoint, reason, "Ljdk/vm/ci/code/site/InfopointReason;") \ 158 end_class \ 159 start_class(site_ExceptionHandler) \ 160 int_field(site_ExceptionHandler, handlerPos) \ 161 end_class \ 162 start_class(site_Mark) \ 163 oop_field(site_Mark, id, "Ljava/lang/Object;") \ 164 end_class \ 165 start_class(HotSpotCompilationRequestResult) \ 166 oop_field(HotSpotCompilationRequestResult, failureMessage, "Ljava/lang/String;") \ 167 boolean_field(HotSpotCompilationRequestResult, retry) \ 168 int_field(HotSpotCompilationRequestResult, inlinedBytecodes) \ 169 end_class \ 170 start_class(DebugInfo) \ 171 oop_field(DebugInfo, bytecodePosition, "Ljdk/vm/ci/code/BytecodePosition;") \ 172 oop_field(DebugInfo, referenceMap, "Ljdk/vm/ci/code/ReferenceMap;") \ 173 oop_field(DebugInfo, calleeSaveInfo, "Ljdk/vm/ci/code/RegisterSaveLayout;") \ 174 objArrayOop_field(DebugInfo, virtualObjectMapping, "[Ljdk/vm/ci/code/VirtualObject;") \ 175 end_class \ 176 start_class(HotSpotReferenceMap) \ 177 objArrayOop_field(HotSpotReferenceMap, objects, "[Ljdk/vm/ci/code/Location;") \ 178 objArrayOop_field(HotSpotReferenceMap, derivedBase, "[Ljdk/vm/ci/code/Location;") \ 179 typeArrayOop_field(HotSpotReferenceMap, sizeInBytes, "[I") \ 180 int_field(HotSpotReferenceMap, maxRegisterSize) \ 181 end_class \ 182 start_class(RegisterSaveLayout) \ 183 objArrayOop_field(RegisterSaveLayout, registers, "[Ljdk/vm/ci/code/Register;") \ 184 typeArrayOop_field(RegisterSaveLayout, slots, "[I") \ 185 end_class \ 186 start_class(BytecodeFrame) \ 187 objArrayOop_field(BytecodeFrame, values, "[Ljdk/vm/ci/meta/JavaValue;") \ 188 objArrayOop_field(BytecodeFrame, slotKinds, "[Ljdk/vm/ci/meta/JavaKind;") \ 266 start_class(HotSpotSpeculationLog) \ 267 oop_field(HotSpotSpeculationLog, lastFailed, "Ljava/lang/Object;") \ 268 end_class \ 269 start_class(HotSpotStackFrameReference) \ 270 oop_field(HotSpotStackFrameReference, compilerToVM, "Ljdk/vm/ci/hotspot/CompilerToVM;") \ 271 long_field(HotSpotStackFrameReference, stackPointer) \ 272 int_field(HotSpotStackFrameReference, frameNumber) \ 273 int_field(HotSpotStackFrameReference, bci) \ 274 oop_field(HotSpotStackFrameReference, method, "Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;") \ 275 objArrayOop_field(HotSpotStackFrameReference, locals, "[Ljava/lang/Object;") \ 276 typeArrayOop_field(HotSpotStackFrameReference, localIsVirtual, "[Z") \ 277 end_class \ 278 start_class(HotSpotMetaData) \ 279 typeArrayOop_field(HotSpotMetaData, pcDescBytes, "[B") \ 280 typeArrayOop_field(HotSpotMetaData, scopesDescBytes, "[B") \ 281 typeArrayOop_field(HotSpotMetaData, relocBytes, "[B") \ 282 typeArrayOop_field(HotSpotMetaData, exceptionBytes, "[B") \ 283 typeArrayOop_field(HotSpotMetaData, oopMaps, "[B") \ 284 objArrayOop_field(HotSpotMetaData, metadata, "[Ljava/lang/String;") \ 285 end_class \ 286 start_class(HotSpotConstantPool) \ 287 long_field(HotSpotConstantPool, metaspaceConstantPool) \ 288 end_class \ 289 start_class(HotSpotJVMCIRuntime) \ 290 objArrayOop_field(HotSpotJVMCIRuntime, trivialPrefixes, "[Ljava/lang/String;") \ 291 int_field(HotSpotJVMCIRuntime, compilationLevelAdjustment) \ 292 end_class \ 293 /* end*/ 294 295 #define START_CLASS(name) \ 296 class name : AllStatic { \ 297 private: \ 298 friend class JVMCICompiler; \ 299 static void check(oop obj, const char* field_name, int offset) { \ 300 assert(obj != NULL, "NULL field access of %s.%s", #name, field_name); \ 301 assert(obj->is_a(SystemDictionary::name##_klass()), "wrong class, " #name " expected, found %s", obj->klass()->external_name()); \ 302 assert(offset != 0, "must be valid offset"); \ 303 } \ 304 static void compute_offsets(TRAPS); \ 305 public: \ |