comparison src/share/vm/classfile/systemDictionary.hpp @ 1433:efba53f86c4f

various fixes and enhancements * correct refmap->oopmap conversion (register numbering, stack slot numbering) * fixes for inlining (correct scoping in exception handler lookup, NPE in scope conversion) * support for "jump to runtime stub" (patching code needs to be aware of jmp instruction) * provide more information about methods (to allow inlining: has_balanced_monitors, etc.) * fixes to signature type lookup * isSubTypeOf: correct handling of array classes * RiType: componentType/arrayOf * prologue: inline cache check, icmiss stub * klass state check (resolved but not initialized) in newinstance * card table write barriers * c1x classes are optional (to allow running c1 without them) * correct for stored frame pointer in calling conventions (methods with arguments on stack) * getType(Class<?>) for some basic types, used for optimizations and folding * RiMethod/RiType: throw exception instead of silent failure on unsupported operations * RiType: resolved/unresolved array type support * refactoring: new on-demand template generation mechanism * optimizations: template specialization for no_null_check, given length, etc.
author Lukas Stadler <lukas.stadler@oracle.com>
date Thu, 16 Sep 2010 19:42:20 -0700
parents abc670a709dc
children 72cfb36c6bb2
comparison
equal deleted inserted replaced
1432:b61a43cd1255 1433:efba53f86c4f
169 template(Byte_klass, java_lang_Byte, Pre) \ 169 template(Byte_klass, java_lang_Byte, Pre) \
170 template(Short_klass, java_lang_Short, Pre) \ 170 template(Short_klass, java_lang_Short, Pre) \
171 template(Integer_klass, java_lang_Integer, Pre) \ 171 template(Integer_klass, java_lang_Integer, Pre) \
172 template(Long_klass, java_lang_Long, Pre) \ 172 template(Long_klass, java_lang_Long, Pre) \
173 \ 173 \
174 template(HotSpotTypeResolved_klass, com_sun_hotspot_c1x_HotSpotTypeResolved, Pre) \ 174 template(HotSpotTypeResolved_klass, com_sun_hotspot_c1x_HotSpotTypeResolved, Opt) \
175 template(HotSpotMethodResolved_klass, com_sun_hotspot_c1x_HotSpotMethodResolved, Pre) \ 175 template(HotSpotMethodResolved_klass, com_sun_hotspot_c1x_HotSpotMethodResolved, Opt) \
176 template(HotSpotTargetMethod_klass, com_sun_hotspot_c1x_HotSpotTargetMethod, Pre) \ 176 template(HotSpotTargetMethod_klass, com_sun_hotspot_c1x_HotSpotTargetMethod, Opt) \
177 template(HotSpotExceptionHandler_klass,com_sun_hotspot_c1x_HotSpotExceptionHandler, Pre) \ 177 template(HotSpotExceptionHandler_klass,com_sun_hotspot_c1x_HotSpotExceptionHandler, Opt) \
178 template(CiTargetMethod_klass, com_sun_cri_ci_CiTargetMethod, Pre) \ 178 template(CiTargetMethod_klass, com_sun_cri_ci_CiTargetMethod, Opt) \
179 template(CiTargetMethod_Site_klass, com_sun_cri_ci_CiTargetMethod_Site, Pre) \ 179 template(CiTargetMethod_Site_klass, com_sun_cri_ci_CiTargetMethod_Site, Opt) \
180 template(CiTargetMethod_Call_klass, com_sun_cri_ci_CiTargetMethod_Call, Pre) \ 180 template(CiTargetMethod_Call_klass, com_sun_cri_ci_CiTargetMethod_Call, Opt) \
181 template(CiTargetMethod_DataPatch_klass, com_sun_cri_ci_CiTargetMethod_DataPatch, Pre) \ 181 template(CiTargetMethod_DataPatch_klass, com_sun_cri_ci_CiTargetMethod_DataPatch, Opt) \
182 template(CiTargetMethod_Safepoint_klass, com_sun_cri_ci_CiTargetMethod_Safepoint, Pre) \ 182 template(CiTargetMethod_Safepoint_klass, com_sun_cri_ci_CiTargetMethod_Safepoint, Opt) \
183 template(CiTargetMethod_ExceptionHandler_klass, com_sun_cri_ci_CiTargetMethod_ExceptionHandler, Pre) \ 183 template(CiTargetMethod_ExceptionHandler_klass, com_sun_cri_ci_CiTargetMethod_ExceptionHandler, Opt) \
184 template(CiTargetMethod_Mark_klass, com_sun_cri_ci_CiTargetMethod_Mark, Pre) \ 184 template(CiTargetMethod_Mark_klass, com_sun_cri_ci_CiTargetMethod_Mark, Opt) \
185 template(CiDebugInfo_klass, com_sun_cri_ci_CiDebugInfo, Pre) \ 185 template(CiDebugInfo_klass, com_sun_cri_ci_CiDebugInfo, Opt) \
186 template(CiDebugInfo_Frame_klass, com_sun_cri_ci_CiDebugInfo_Frame, Pre) \ 186 template(CiDebugInfo_Frame_klass, com_sun_cri_ci_CiDebugInfo_Frame, Opt) \
187 template(CiRegisterValue_klass, com_sun_cri_ci_CiRegisterValue, Pre) \ 187 template(CiRegisterValue_klass, com_sun_cri_ci_CiRegisterValue, Opt) \
188 template(CiStackSlot_klass, com_sun_cri_ci_CiStackSlot, Pre) \ 188 template(CiStackSlot_klass, com_sun_cri_ci_CiStackSlot, Opt) \
189 template(CiCodePos_klass, com_sun_cri_ci_CiCodePos, Pre) \ 189 template(CiCodePos_klass, com_sun_cri_ci_CiCodePos, Opt) \
190 template(CiConstant_klass, com_sun_cri_ci_CiConstant, Pre) \ 190 template(CiConstant_klass, com_sun_cri_ci_CiConstant, Opt) \
191 template(CiKind_klass, com_sun_cri_ci_CiKind, Pre) \ 191 template(CiKind_klass, com_sun_cri_ci_CiKind, Opt) \
192 template(CiRuntimeCall_klass, com_sun_cri_ci_CiRuntimeCall, Pre) \ 192 template(CiRuntimeCall_klass, com_sun_cri_ci_CiRuntimeCall, Opt) \
193 template(RiMethod_klass, com_sun_cri_ri_RiMethod, Pre) \ 193 template(RiMethod_klass, com_sun_cri_ri_RiMethod, Opt) \
194 template(RiExceptionHandler_klass, com_sun_cri_ri_RiExceptionHandler, Pre) \ 194 template(RiExceptionHandler_klass, com_sun_cri_ri_RiExceptionHandler, Opt) \
195 195
196 /*end*/ 196 /*end*/
197 197
198 198
199 class SystemDictionary : AllStatic { 199 class SystemDictionary : AllStatic {