Mercurial > hg > graal-compiler
diff src/share/vm/graal/graalJavaAccess.hpp @ 6674:fd71ca8c5f88
VM infrstructure for OnStackReplacement
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 07 Nov 2012 13:18:04 +0100 |
parents | 2463eb24b644 |
children | e522a00b91aa |
line wrap: on
line diff
--- a/src/share/vm/graal/graalJavaAccess.hpp Wed Nov 07 12:18:37 2012 +0100 +++ b/src/share/vm/graal/graalJavaAccess.hpp Wed Nov 07 13:18:04 2012 +0100 @@ -29,7 +29,7 @@ #include "classfile/systemDictionary.hpp" #include "oops/instanceMirrorKlass.hpp" -/* This macro defines the structure of the InstalledCode - classes. +/* This macro defines the structure of the CompilationResult - classes. * It will generate classes with accessors similar to javaClasses.hpp, but with specializations for oops, Handles and jni handles. * * The public interface of these classes will look like this: @@ -72,147 +72,148 @@ int_field(HotSpotResolvedJavaMethod, maxLocals) \ int_field(HotSpotResolvedJavaMethod, maxStackSize) \ boolean_field(HotSpotResolvedJavaMethod, canBeInlined) \ - end_class \ - start_class(HotSpotMethodData) \ - oop_field(HotSpotMethodData, hotspotMirror, "Ljava/lang/Object;") \ - int_field(HotSpotMethodData, normalDataSize) \ - int_field(HotSpotMethodData, extraDataSize) \ - end_class \ + end_class \ + start_class(HotSpotMethodData) \ + oop_field(HotSpotMethodData, hotspotMirror, "Ljava/lang/Object;") \ + int_field(HotSpotMethodData, normalDataSize) \ + int_field(HotSpotMethodData, extraDataSize) \ + end_class \ start_class(HotSpotJavaType) \ oop_field(HotSpotJavaType, name, "Ljava/lang/String;") \ - end_class \ - start_class(HotSpotResolvedJavaField) \ - oop_field(HotSpotResolvedJavaField, constant, "Lcom/oracle/graal/api/meta/Constant;") \ - int_field(HotSpotResolvedJavaField, offset) \ - int_field(HotSpotResolvedJavaField, accessFlags) \ - end_class \ - start_class(HotSpotCompiledMethod) \ - long_field(HotSpotCompiledMethod, nmethod) \ - oop_field(HotSpotCompiledMethod, method, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;")\ - end_class \ - start_class(HotSpotCodeInfo) \ - long_field(HotSpotCodeInfo, start) \ - oop_field(HotSpotCodeInfo, code, "[B") \ - end_class \ - start_class(HotSpotCompilationResult) \ + end_class \ + start_class(HotSpotResolvedJavaField) \ + oop_field(HotSpotResolvedJavaField, constant, "Lcom/oracle/graal/api/meta/Constant;") \ + int_field(HotSpotResolvedJavaField, offset) \ + int_field(HotSpotResolvedJavaField, accessFlags) \ + end_class \ + start_class(HotSpotCompiledMethod) \ + long_field(HotSpotCompiledMethod, nmethod) \ + oop_field(HotSpotCompiledMethod, method, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;") \ + end_class \ + start_class(HotSpotCodeInfo) \ + long_field(HotSpotCodeInfo, start) \ + oop_field(HotSpotCodeInfo, code, "[B") \ + end_class \ + start_class(HotSpotCompilationResult) \ oop_field(HotSpotCompilationResult, comp, "Lcom/oracle/graal/api/code/CompilationResult;") \ oop_field(HotSpotCompilationResult, method, "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod;") \ - oop_field(HotSpotCompilationResult, name, "Ljava/lang/String;") \ + int_field(HotSpotCompilationResult, entryBCI) \ + oop_field(HotSpotCompilationResult, name, "Ljava/lang/String;") \ oop_field(HotSpotCompilationResult, sites, "[Lcom/oracle/graal/api/code/CompilationResult$Site;") \ oop_field(HotSpotCompilationResult, exceptionHandlers, "[Lcom/oracle/graal/api/code/CompilationResult$ExceptionHandler;") \ - end_class \ - start_class(ExceptionHandler) \ - int_field(ExceptionHandler, startBCI) \ - int_field(ExceptionHandler, endBCI) \ - int_field(ExceptionHandler, handlerBCI) \ - int_field(ExceptionHandler, catchTypeCPI) \ - oop_field(ExceptionHandler, catchType, "Lcom/oracle/graal/api/meta/JavaType;") \ - end_class \ - start_class(InstalledCode) \ - int_field(InstalledCode, frameSize) \ - int_field(InstalledCode, customStackAreaOffset) \ - oop_field(InstalledCode, targetCode, "[B") \ - oop_field(InstalledCode, assumptions, "Lcom/oracle/graal/api/code/Assumptions;") \ - int_field(InstalledCode, targetCodeSize) \ - end_class \ - start_class(Assumptions) \ - oop_field(Assumptions, list, "[Lcom/oracle/graal/api/code/Assumptions$Assumption;") \ - end_class \ - start_class(Assumptions_MethodContents) \ + end_class \ + start_class(ExceptionHandler) \ + int_field(ExceptionHandler, startBCI) \ + int_field(ExceptionHandler, endBCI) \ + int_field(ExceptionHandler, handlerBCI) \ + int_field(ExceptionHandler, catchTypeCPI) \ + oop_field(ExceptionHandler, catchType, "Lcom/oracle/graal/api/meta/JavaType;") \ + end_class \ + start_class(CompilationResult) \ + int_field(CompilationResult, frameSize) \ + int_field(CompilationResult, customStackAreaOffset) \ + oop_field(CompilationResult, targetCode, "[B") \ + oop_field(CompilationResult, assumptions, "Lcom/oracle/graal/api/code/Assumptions;") \ + int_field(CompilationResult, targetCodeSize) \ + end_class \ + start_class(Assumptions) \ + oop_field(Assumptions, list, "[Lcom/oracle/graal/api/code/Assumptions$Assumption;") \ + end_class \ + start_class(Assumptions_MethodContents) \ oop_field(Assumptions_MethodContents, method, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;") \ - end_class \ - start_class(Assumptions_ConcreteSubtype) \ + end_class \ + start_class(Assumptions_ConcreteSubtype) \ oop_field(Assumptions_ConcreteSubtype, context, "Lcom/oracle/graal/api/meta/ResolvedJavaType;") \ oop_field(Assumptions_ConcreteSubtype, subtype, "Lcom/oracle/graal/api/meta/ResolvedJavaType;") \ - end_class \ - start_class(Assumptions_ConcreteMethod) \ + end_class \ + start_class(Assumptions_ConcreteMethod) \ oop_field(Assumptions_ConcreteMethod, method, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;") \ oop_field(Assumptions_ConcreteMethod, context, "Lcom/oracle/graal/api/meta/ResolvedJavaType;") \ oop_field(Assumptions_ConcreteMethod, impl, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;") \ - end_class \ - start_class(InstalledCode_Site) \ - int_field(InstalledCode_Site, pcOffset) \ - end_class \ - start_class(InstalledCode_Call) \ - oop_field(InstalledCode_Call, target, "Ljava/lang/Object;") \ - oop_field(InstalledCode_Call, debugInfo, "Lcom/oracle/graal/api/code/DebugInfo;") \ - end_class \ - start_class(InstalledCode_DataPatch) \ - oop_field(InstalledCode_DataPatch, constant, "Lcom/oracle/graal/api/meta/Constant;") \ - int_field(InstalledCode_DataPatch, alignment) \ - end_class \ - start_class(InstalledCode_Safepoint) \ - oop_field(InstalledCode_Safepoint, debugInfo, "Lcom/oracle/graal/api/code/DebugInfo;") \ - end_class \ - start_class(InstalledCode_ExceptionHandler) \ - int_field(InstalledCode_ExceptionHandler, handlerPos) \ - end_class \ - start_class(InstalledCode_Mark) \ - oop_field(InstalledCode_Mark, id, "Ljava/lang/Object;") \ - oop_field(InstalledCode_Mark, references, "[Lcom/oracle/graal/api/code/CompilationResult$Mark;") \ - end_class \ - start_class(DebugInfo) \ - oop_field(DebugInfo, bytecodePosition, "Lcom/oracle/graal/api/code/BytecodePosition;") \ - oop_field(DebugInfo, registerRefMap, "Ljava/util/BitSet;") \ - oop_field(DebugInfo, frameRefMap, "Ljava/util/BitSet;") \ - end_class \ - start_class(GraalBitMap) \ - oop_field(GraalBitMap, words, "[J") \ - end_class \ - start_class(BytecodeFrame) \ - oop_field(BytecodeFrame, values, "[Lcom/oracle/graal/api/meta/Value;") \ - int_field(BytecodeFrame, numLocals) \ - int_field(BytecodeFrame, numStack) \ - int_field(BytecodeFrame, numLocks) \ - long_field(BytecodeFrame, leafGraphId) \ - boolean_field(BytecodeFrame, rethrowException) \ - boolean_field(BytecodeFrame, duringCall) \ - end_class \ - start_class(BytecodePosition) \ - oop_field(BytecodePosition, caller, "Lcom/oracle/graal/api/code/BytecodePosition;") \ - oop_field(BytecodePosition, method, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;") \ - int_field(BytecodePosition, bci) \ - end_class \ - start_class(Constant) \ - oop_field(Constant, kind, "Lcom/oracle/graal/api/meta/Kind;") \ - oop_field(Constant, object, "Ljava/lang/Object;") \ - long_field(Constant, primitive) \ - end_class \ - start_class(Kind) \ - char_field(Kind, typeChar) \ - static_oop_field(Kind, Boolean, "Lcom/oracle/graal/api/meta/Kind;"); \ - static_oop_field(Kind, Byte, "Lcom/oracle/graal/api/meta/Kind;"); \ - static_oop_field(Kind, Char, "Lcom/oracle/graal/api/meta/Kind;"); \ - static_oop_field(Kind, Short, "Lcom/oracle/graal/api/meta/Kind;"); \ - static_oop_field(Kind, Int, "Lcom/oracle/graal/api/meta/Kind;"); \ - static_oop_field(Kind, Long, "Lcom/oracle/graal/api/meta/Kind;"); \ - end_class \ - start_class(JavaMethod) \ - end_class \ - start_class(Value) \ - oop_field(Value, kind, "Lcom/oracle/graal/api/meta/Kind;") \ - static_oop_field(Value, ILLEGAL, "Lcom/oracle/graal/api/meta/Value;"); \ - end_class \ - start_class(RegisterValue) \ - oop_field(RegisterValue, reg, "Lcom/oracle/graal/api/code/Register;") \ - end_class \ - start_class(code_Register) \ - int_field(code_Register, number) \ - end_class \ - start_class(StackSlot) \ - int_field(StackSlot, offset) \ - boolean_field(StackSlot, addFrameSize) \ - end_class \ - start_class(VirtualObject) \ - int_field(VirtualObject, id) \ + end_class \ + start_class(CompilationResult_Site) \ + int_field(CompilationResult_Site, pcOffset) \ + end_class \ + start_class(CompilationResult_Call) \ + oop_field(CompilationResult_Call, target, "Ljava/lang/Object;") \ + oop_field(CompilationResult_Call, debugInfo, "Lcom/oracle/graal/api/code/DebugInfo;") \ + end_class \ + start_class(CompilationResult_DataPatch) \ + oop_field(CompilationResult_DataPatch, constant, "Lcom/oracle/graal/api/meta/Constant;") \ + int_field(CompilationResult_DataPatch, alignment) \ + end_class \ + start_class(CompilationResult_Safepoint) \ + oop_field(CompilationResult_Safepoint, debugInfo, "Lcom/oracle/graal/api/code/DebugInfo;") \ + end_class \ + start_class(CompilationResult_ExceptionHandler) \ + int_field(CompilationResult_ExceptionHandler, handlerPos) \ + end_class \ + start_class(CompilationResult_Mark) \ + oop_field(CompilationResult_Mark, id, "Ljava/lang/Object;") \ + oop_field(CompilationResult_Mark, references, "[Lcom/oracle/graal/api/code/CompilationResult$Mark;") \ + end_class \ + start_class(DebugInfo) \ + oop_field(DebugInfo, bytecodePosition, "Lcom/oracle/graal/api/code/BytecodePosition;") \ + oop_field(DebugInfo, registerRefMap, "Ljava/util/BitSet;") \ + oop_field(DebugInfo, frameRefMap, "Ljava/util/BitSet;") \ + end_class \ + start_class(GraalBitMap) \ + oop_field(GraalBitMap, words, "[J") \ + end_class \ + start_class(BytecodeFrame) \ + oop_field(BytecodeFrame, values, "[Lcom/oracle/graal/api/meta/Value;") \ + int_field(BytecodeFrame, numLocals) \ + int_field(BytecodeFrame, numStack) \ + int_field(BytecodeFrame, numLocks) \ + long_field(BytecodeFrame, leafGraphId) \ + boolean_field(BytecodeFrame, rethrowException) \ + boolean_field(BytecodeFrame, duringCall) \ + end_class \ + start_class(BytecodePosition) \ + oop_field(BytecodePosition, caller, "Lcom/oracle/graal/api/code/BytecodePosition;") \ + oop_field(BytecodePosition, method, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;") \ + int_field(BytecodePosition, bci) \ + end_class \ + start_class(Constant) \ + oop_field(Constant, kind, "Lcom/oracle/graal/api/meta/Kind;") \ + oop_field(Constant, object, "Ljava/lang/Object;") \ + long_field(Constant, primitive) \ + end_class \ + start_class(Kind) \ + char_field(Kind, typeChar) \ + static_oop_field(Kind, Boolean, "Lcom/oracle/graal/api/meta/Kind;"); \ + static_oop_field(Kind, Byte, "Lcom/oracle/graal/api/meta/Kind;"); \ + static_oop_field(Kind, Char, "Lcom/oracle/graal/api/meta/Kind;"); \ + static_oop_field(Kind, Short, "Lcom/oracle/graal/api/meta/Kind;"); \ + static_oop_field(Kind, Int, "Lcom/oracle/graal/api/meta/Kind;"); \ + static_oop_field(Kind, Long, "Lcom/oracle/graal/api/meta/Kind;"); \ + end_class \ + start_class(JavaMethod) \ + end_class \ + start_class(Value) \ + oop_field(Value, kind, "Lcom/oracle/graal/api/meta/Kind;") \ + static_oop_field(Value, ILLEGAL, "Lcom/oracle/graal/api/meta/Value;"); \ + end_class \ + start_class(RegisterValue) \ + oop_field(RegisterValue, reg, "Lcom/oracle/graal/api/code/Register;") \ + end_class \ + start_class(code_Register) \ + int_field(code_Register, number) \ + end_class \ + start_class(StackSlot) \ + int_field(StackSlot, offset) \ + boolean_field(StackSlot, addFrameSize) \ + end_class \ + start_class(VirtualObject) \ + int_field(VirtualObject, id) \ oop_field(VirtualObject, type, "Lcom/oracle/graal/api/meta/JavaType;") \ - oop_field(VirtualObject, values, "[Lcom/oracle/graal/api/meta/Value;") \ - end_class \ - start_class(code_MonitorValue) \ - oop_field(code_MonitorValue, owner, "Lcom/oracle/graal/api/meta/Value;") \ - oop_field(code_MonitorValue, lockData, "Lcom/oracle/graal/api/meta/Value;") \ - boolean_field(code_MonitorValue, eliminated) \ - end_class \ + oop_field(VirtualObject, values, "[Lcom/oracle/graal/api/meta/Value;") \ + end_class \ + start_class(code_MonitorValue) \ + oop_field(code_MonitorValue, owner, "Lcom/oracle/graal/api/meta/Value;") \ + oop_field(code_MonitorValue, lockData, "Lcom/oracle/graal/api/meta/Value;") \ + boolean_field(code_MonitorValue, eliminated) \ + end_class \ /* end*/ #define START_CLASS(name) \