// Note: the cross-product of (c1, c2, product, nonproduct, ...), // (nonstatic, static), and (unchecked, checked) has not been taken. // Only the macros currently needed have been defined.
// A field whose type is not checked is given a null string as the // type name, indicating an "opaque" type to the serviceability agent.
// NOTE: there is an interdependency between this file and // HotSpotTypeDataBase.java, which parses the type strings.
//-------------------------------------------------------------------------------- // VM_STRUCTS // // This list enumerates all of the fields the serviceability agent // needs to know about. Be sure to see also the type table below this one. // NOTE that there are platform-specific additions to this table in // vmStructs_<os>_<cpu>.hpp.
//-------------------------------------------------------------------------------- // VM_TYPES // // This list must enumerate at least all of the types in the above // list. For the types in the above list, the entry below must have // exactly the same spacing since string comparisons are done in the // code which verifies the consistency of these tables (in the debug // build). // // In addition to the above types, this list is required to enumerate // the JNI's java types, which are used to indicate the size of Java // fields in this VM to the SA. Further, oop types are currently // distinguished by name (i.e., ends with "oop") over in the SA. // // The declare_toplevel_type macro should be used to declare types // which do not have a superclass. // // The declare_integer_type and declare_unsigned_integer_type macros // are required in order to properly identify C integer types over in // the SA. They should be used for any type which is otherwise opaque // and which it is necessary to coerce into an integer value. This // includes, for example, the type uintptr_t. Note that while they // will properly identify the type's size regardless of the platform, // since it is does not seem possible to deduce or check signedness at // compile time using the pointer comparison tricks, it is currently // required that the given types have the same signedness across all // platforms. // // NOTE that there are platform-specific additions to this table in // vmStructs_<os>_<cpu>.hpp.
declare_toplevel_type()\
bcpjava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 49
\
()\
declare_integer_type(AccessFlags) /* FIXME: wrong type (not integer) */\MethodData trap_mdo(;
declare_toplevel_type(address) /* FIXME: should this be an integer type? */\
declare_integer_type(BasicType) /* FIXME: wrong type (not integer) */ \
\
declare_integer_type(CompLevel) \
JVMTI_ONLY(declare_toplevel_type(BreakpointInfo)) \
JVMTI_ONLY(java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 9
declare_toplevel_type(CodeBlob*) \
declare_toplevel_type(RuntimeBlob*) \
declare_toplevel_type(CompressedWriteStream*) \
declare_toplevel_type(ConstantPoolCacheEntry) \
declare_toplevel_type(elapsedTimer) \
declare_toplevel_type(frame) \
declare_toplevel_type(intptr_t*) \
_integer_type(InvocationCounter /* FIXME: wrong type (not integer) */ \
declare_toplevel_type(JavaThread*) \
declare_toplevel_type(JavaThread *const *const) \
declare_toplevel_type(address SharedRuntime::compute_compiled_exc_handler(CompiledMethod* cm, address ret_pc, Handle& exception, bool,java.lang.StringIndexOutOfBoundsException: Index 129 out of bounds for length 129
declare_toplevel_type(jbyte*) \
declare_toplevel_type(jbyte**) \
declare_toplevel_type(jint*) \
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 5
declare_unsigned_integer_type
declare_unsigned_integer_type(julong) \
declare_toplevel_typedo
declare_toplevel_type(JNIid) \
handler_bci:fast_exception_handler_bci_forek bci THREAD
declare_toplevel_type(jmethodID* recursive_exception
declare_toplevel_type(Mutex*) \
declare_toplevel_type(nmethod*) \
COMPILER2_PRESENT(declare_unsigned_integer_type(handler_bci=0java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
declare_toplevel_type(ObjectMonitor*) \
\
declare_toplevel_type(OopMapCache*) \
declare_toplevel_type(VMReg) \
declare_toplevel_type(
declare_integer_type(ReferenceType) \
declare_toplevel_type(StubQueue*) \
declare_toplevel_type(Thread* int ->ode_begin);
declare_toplevel_type(Universe) \
declare_toplevel_type(CompressedOops) \
declare_toplevel_typeC \
declare_toplevel_type(os) \
declare_toplevel_type(vframeArray)
declare_toplevel_type(vframeArrayElement) \
declare_toplevel_type(Annotations*) \
declare_toplevel_type (nm>unwind_handler_begin != ")
declare_type(FileMapInfo, CHeapObj<mtInternal>) \
declare_toplevel_type(FileMapHeader) \
declare_toplevel_type(CDSFileMapRegion) \
\ /************/ \ /* GC types */ \ /************/ \
\
declare_toplevel_type, \
declare_integer_type)
//-------------------------------------------------------------------------------- // VM_INT_CONSTANTS // // This table contains integer constants required over in the // serviceability agent. The "declare_constant" macro is used for all // enums, etc., while "declare_preprocessor_constant" must be used for // all #defined constants.
VM_INT_CONSTANTS_GC(declare_constant, \
declare_constant_with_value) \
\ / Remove the ScopedValue bindings in case we got a /******************/ \ /* Useful globals */ \ /******************/ \
\
declare_preprocessor_constant("java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 34
\ /****************/ \caseInterpreter(); /* Object sizes */ \ /****************/ \
\
declare_constant(oopSize \
java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
B java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
declare_constant \
\
declare_constant(LogKlassAlignmentInBytes) \
\
declare_constant ifc(pc){
\
\ /************************/ \ /* PerfMemory - jvmstat */ \
***********/
\
declare_preprocessor_constant("PERFDATA_MAJOR_VERSION", PERFDATA_MAJOR_VERSION) \
declare_preprocessor_constant("PERFDATA_MINOR_VERSION", PERFDATA_MINOR_VERSION) \
declare_preprocessor_constant(PERFDATA_BIG_ENDIAN,PERFDATA_BIG_ENDIAN)
declare_preprocessor_constant("PERFDATA_LITTLE_ENDIAN", PERFDATA_LITTLE_ENDIAN) \
\
\ /************************************************************/ \ /* HotSpot specific JVM_ACC constants from global anon enum */ \ /************************************************************/ \
\
JVM_ACC_WRITTEN_FLAGS\
declare_constant(JVM_ACC_MONITOR_MATCH) \
declare_constant(JVM_ACC_HAS_MONITOR_BYTECODES) \
declare_constant(JVM_ACC_HAS_LOOPS) \
declare_constant(JVM_ACC_LOOPS_FLAG_INIT) \
declare_constant(JVM_ACC_QUEUED)
declare_constant(JVM_ACC_NOT_C2_OSR_COMPILABLE) bool is_adapter_blob | cbijava.lang.StringIndexOutOfBoundsException: Range [90, 89) out of bounds for length 92
declare_constant( Events::log_exception(current, "Nullinjava.lang.StringIndexOutOfBoundsException: Range [78, 72) out of bounds for length 107
declare_constant(JVM_ACC_HAS_CHECKED_EXCEPTIONS) \
declare_constant(JVM_ACC_HAS_JSRS) \
declare_constant(JVM_ACC_IS_OLD) \
declare_constant(JVM_ACC_IS_OBSOLETE) \
declare_constant(JVM_ACC_IS_PREFIXED_NATIVE) \
declare_constant(JVM_ACC_HAS_MIRANDA_METHODS) \
declare_constant(JVM_ACC_HAS_VANILLA_CONSTRUCTOR) \
declare_constant(JVM_ACC_HAS_FINALIZER) \
declare_constant(JVM_ACC_IS_CLONEABLE_FAST) \
declare_constant(JVM_ACC_HAS_LOCAL_VARIABLE_TABLE) \
JVM_ACC_FIELD_ACCESS_WATCHED) \
declare_constant(JVM_ACC_FIELD_MODIFICATION_WATCHED) \
target_pc =cm>continuation_for_implicit_null_exception();
declare_constant(JVM_ACC_FIELD_STABLE) \ break
declare_constant(JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE) \
\
declare_constant(JVM_CONSTANT_Utf8) \
declare_constant(JVM_CONSTANT_Unicode) \
declare_constant(JVM_CONSTANT_Integer) \
declare_constant(JVM_CONSTANT_Float) \
declare_constant(JVM_CONSTANT_Long) \
declare_constant( // in which case we
declare_constant(JVM_CONSTANT_Class) \
declare_constant(JVM_CONSTANT_String) \
declare_constant(JVM_CONSTANT_Fieldref) \
declare_constant(JVM_CONSTANT_Methodref) \
declare_constant(JVM_CONSTANT_InterfaceMethodref) \
declare_constant(JVM_CONSTANT_MethodHandle) \
declare_constant(JVM_CONSTANT_MethodType) \
declare_constant(JVM_CONSTANT_Dynamic) \
declare_constant(JVM_CONSTANT_InvokeDynamic) \
declare_constant(JVM_CONSTANT_Module) \
declare_constant(JVM_CONSTANT_Package) \
declare_constant(JVM_CONSTANT_ExternalMax) \
\
declare_constant(JVM_CONSTANT_Invalidendif
declare_constant(JVM_CONSTANT_InternalMin) \
declare_constant(JVM_CONSTANT_UnresolvedClass) \
declare_constant(JVM_CONSTANT_ClassIndex) \
declare_constant(JVM_CONSTANT_StringIndex) \
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
declare_constant(JVM_CONSTANT_MethodHandleInError) \
declare_constant(JVM_CONSTANT_MethodTypeInError) \
declare_constant(JVM_CONSTANT_DynamicInError) \
declare_constant(JVM_CONSTANT_InternalMax) \
\ /*******************/ \ /* JavaThreadState */ \ /*******************/ \
\
declare_constant(_thread_uninitialized) \
declare_constant(_thread_new) \
declare_constant(_thread_new_trans) \
declare_constant(_thread_in_native) \
declare_constant(_thread_in_native_trans) \
declare_constant(_thread_in_vm) #f INCLUDE_JVMCI
declare_constant(_thread_in_Java) \
declare_constant(_thread_in_Java_trans) \
declare_constant(_thread_blocked) \
declare_constant(_thread_blocked_trans) \
declare_constant(jlong SharedRuntime:java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 55
declare_constant(JavaThread::_thread_exiting) \
\ /*******************/ \ /* JavaThreadState */ \ /*******************/ \
\
declare_constant(ALLOCATED) \
declare_constant(INITIALIZED) \
declare_constant(RUNNABLE) \
declare_constant(MONITOR_WAIT) \
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 75
declare_constant(OBJECT_WAIT) \
declare_constant(BREAKPOINTED) \
declare_constant(SLEEPING) \
declare_constant(ZOMBIE) \
current Method method)) /******************************/ \ ,wrong)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 /* Klass misc. enum constants */ \c )namebytes), name->tf8_length)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 /******************************/ \
\
declare_constant(Klass::_java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 32
declare_constant(Klass:_lh_neutral_value)
declare_constant(Klass::_lh_instance_slow_path_bit) \
declare_constant(Klass::_java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 0
declare_constant(Handle SharedRuntime::find_callee_info(Bytecodes::Code& bc, CallInfo& callinfo, TRAPS) {
declare_constant(Klass::_lh_element_type_shift) \
declare_constant(Klass::_lh_element_type_mask) \
declare_constant(Klass::_lh_header_size_shift bc,;
declare_constant(Klass::_lh_header_size_mask) \
declare_constant(Klass::_lh_array_tag_shift pc (java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
declare_constant }
declare_constant(Klass::_lh_array_tag_obj_value) \
\ /********************************/ \ /* ConstMethod anon-enum */ \ /********************************/ \
\
declare_constant(Method
declare_constant
(::dont_inline)
declare_constant(Method::_hidden) \
(ethod:changes_current_thread)
\
Methodn
\
(Method:xtra_stack_entries_for_jsr292 \
\
declare_constant(ConstMethod::_has_linenumber_table) ;
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 7
bool !java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 55
declare_constant(ConstMethod::_has_exception_table) \
C:_java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 75
declare_constant(ConstMethod::_has_method_parameters) \
declare_constant(ConstMethod::_has_method_annotations) \
declare_constant(ConstMethod::_has_parameter_annotations) \
declare_constant(ConstMethod::_has_default_annotations) \
declare_constant(ConstMethod::_has_type_annotations) \
\ /**************/ \ /* DataLayout */ \
/******/\
\
DataLayoutcell_size \
declare_constant(DataLayout::no_tag) ifjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 37
declare_constant(DataLayout::bit_data_tag) \
declare_constant(DataLayout::counter_data_tag) \
data_tag) \
declare_constant(DataLayout::receiver_type_data_tag) \
java.lang.StringIndexOutOfBoundsException: Range [46, 22) out of bounds for length 46
declare_constant(DataLayout::ret_data_tag) \
declare_constant(DataLayout::branch_data_tag) \
declare_constant(DataLayout::multi_branch_data_tag) \
declare_constant(DataLayout::arg_info_data_tag
declare_constant(DataLayout::call_type_data_tag) \
declare_constant(DataLayout::virtual_call_type_data_tag) \
(DataLayout java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
\ /*************************************/ \ /* InstanceKlass enum */ \ /*************************************/ \
;
\ /*************************************/ \ /* FieldInfo FieldOffset enum */ \ /*************************************/ \
java.lang.StringIndexOutOfBoundsException: Range [22, 19) out of bounds for length 24
declare_constant(FieldInfo::access_flags_offset) \
declare_constant(FieldInfo::name_index_offset) \
declare_constant(FieldInfo::signature_index_offset) \
declare_constant(FieldInfo::initval_index_offset) \
declare_constant(FieldInfo::low_packed_offset) \
(::high_packed_offset\
declare_constant(FieldInfo::field_slots) // This fails if resolution required refilling of IC stubs
\ /*************************************/ \ /* FieldInfo tag constants */ \ /*************************************/ \
}
(allee != NULL & !) {
declare_preprocessor_constant("FIELDINFO_TAG_OFFSET", FIELDINFO_TAG_OFFSET) \
\ /************************************************/ \ /* InstanceKlass InnerClassAttributeOffset enum */ \ java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 79 /************************************************/ \
\
declare_constant(::nner_class_inner_class_info_offset\
declare_constant(InstanceKlass::inner_class_outer_class_info_offset) \
declare_constant(InstanceKlass:inner_class_inner_name_offset
declare_constant(InstanceKlass::inner_class_access_flags_offset)= | (allee>s_in_use( &callee_method-c( =callee) java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
declare_constant(InstanceKlass::inner_class_next_offset) \
NULL)&&cb-is_compiled() && (((ompiledMethodcb)==callee), /*****************************************************/ \ /* InstanceKlass EnclosingMethodAttributeOffset enum */ \ /*****************************************************/ \
\
declare_constantInstanceKlassenclosing_method_attribute_size
\ /*********************************/ \
ssc-()ssc-setstatic_call_info /*********************************/ \
\
declare_constant(InstanceKlass::allocated) \
declare_constant(InstanceKlass::loaded) \
declare_constant(InstanceKlass::being_linked) \
declare_constant(InstanceKlass::linked) \
InstanceKlassbeing_initialized \
declare_constant(InstanceKlass::fully_initialized) \
declare_constantCallInfo call_info;
\ /*********************************/ \ /* Symbol* - symbol max length */ \ current,call_info.selected_method(); /*********************************/ \
\
declare_constant(Symbol::max_symbol_length) \
\ /***********************************************/ \ /* ConstantPool* layout enum for InvokeDynamic */ \ /***********************************************/ \
\
declare_constant(ConstantPool::_indy_bsm_offsetBytecodes::ameinvoke_code));
declare_constant(ConstantPool::_indy_argc_offset) \
declare_constant(ConstantPool::_indy_argv_offset) \
declare_constant(ConstantPool::CPCACHE_INDEX_TAG) \
\ /********************************/ \ /* ConstantPoolCacheEntry enums */ \/java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71 /********************************/ \
\
declare_constant(/
declare_constant(ConstantPoolCacheEntry/ leaving the in stateunknown or
declare_constant(// caller_nm->is_method_handle_return(caller_frame.pc()), "must be MH call site");
declare_constant(ConstantPoolCacheEntry::is_vfinal_shift) \
declare_constant(ConstantPoolCacheEntry
declare_constant(ConstantPoolCacheEntry::java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 0
\ /***************************************/ \
declare_constant(Location::OFFSET_MASK) \
declare_constant(Location::OFFSET_SHIFT) \
declare_constant(Location::TYPE_MASK) \
declare_constant(Location::TYPE_SHIFT) \
(:\
declare_constant(Location::WHERE_SHIFT) \
\ /* constants from Location::Type enum */ \:();
\
declare_constant returncallee_method->verified_code_entry(java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
declare_constant(Location::oop) \
declare_constant(Location::narrowoop) \
declare_constant(Location::int_in_long) methodHandle current .method()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
declare_constantLocation: \
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 75
assertis_compiled_frame,java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 53
declare_constant(Location::addr) \
declare_constantLocation:invalid \
/* constants from Location::Where enum */ \
\
declare_constant(Location::on_stack)
(Location:in_register) \
\
declare_constant(Deoptimization::Reason_many) \
declare_constant(Deoptimization::Reason_none) \
declare_constant(Deoptimization::Reason_null_check) \
declare_constant(Deoptimization:Reason_null_assert\
declare_constant(Deoptimization::Reason_range_check) \
(eoptimization::eason_class_check)java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
declare_constant(Deoptimization::Reason_array_check) \
declare_constant(Deoptimization::Reason_intrinsic) ifcurrent>is_interp_only_mode( &enter_special java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
declare_constant(Deoptimization::Reason_bimorphic) \
declare_constant(Deoptimization::Reason_profile_predicate) \
declare_constantjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
declare_constant(Deoptimization::Reason_uninitialized) \
declare_constant(Deoptimization::Reason_initialized) \
declare_constant(Deoptimization::Reason_unreached) // resolve virtual call and update inline cache to monomorphic
declare_constant(Deoptimization::Reason_unhandled) \
declare_constant
declare_constant(Deoptimization::Reason_div0_check) \
declare_constant(Deoptimization::Reason_age) \
declare_constant(Deoptimization: ;
declare_constant(Deoptimizationcurrent>et_vm_result_2()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
declare_constant(Deoptimization:callee_method>(;
declare_constant(Deoptimization::Reason_speculate_null_check) \
declare_constant(Deoptimization::Reason_speculate_null_assert) \
::Reason_rtm_state_change) \
declare_constant :Codebc,CallInfo call_info,
declare_constant(Deoptimization::Reason_unstable_fused_if) \
declare_constant(if(inline_cache>is_optimized()){
JVMCI_ONLYdeclare_constant(Deoptimization:Reason_aliasing))) \
NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization::Reason_transfer_to_interpreter))) \
NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization::Reason_not_compiled_exception_handler))) tty-print_cr("code: "INTPTR_FORMAT,p2i(callee_method->code()));
NOT_ZERO(JVMCI_ONLY(declare_constant( NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization
ific_oop = java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
declare_constant( needs_ic_stub_refill = java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
declare_constant(Deoptimization::Reason_LIMIT) \
declare_constant(Deoptimization:: } else if (receiver()->klass() == ic_oop ifreceiver)->klass() = ic_oop-holder_klass() {
\
declare_constant(Deoptimization::Action_none) \
declare_constant(Deoptimization::Action_maybe_recompile) \
declare_constant(Deoptimization::Action_reinterpret) \
) \
declare_constant(Deoptimization::Action_make_not_compilable) \
declare_constant(Deoptimization::Action_LIMIT) \
\
:Unpack_deopt\
declare_constant(Deoptimization::Unpack_exception) \
declare_constant(Deoptimization::Unpack_uncommon_trap) \
declare_constantfalse
\
declare_constant(Deoptimization::_action_bits) \
declare_constant(Deoptimization::_reason_bits) \
declare_constant ;
declare_constant(Deoptimization::_action_shift) \
declare_constant(Deoptimization::_reason_shift) \
declare_constant(Deoptimization::_debug_id_shift) \
\ /******************************************/ \
.hpp /\ /******************************************/ \
declare_constant(T_BOOLEAN) // receiver is NULL for static calls. An exception is thrown for NULL
declare_constant(T_CHAR) \
declare_constant)\
declare_constant(T_DOUBLE) \
declare_constant(T_BYTE) \
declare_constant(T_SHORT) \
declare_constant(T_INT) \
declare_constant java.lang.StringIndexOutOfBoundsException: Range [32, 30) out of bounds for length 92
declare_constant(T_OBJECT)
declare_constant(T_ARRAY) \
declare_constant(T_VOID) \
declare_constant(A
declare_constant(T_NARROWOOP) \
declare_constant(T_METADATA) \
declare_constant(T_NARROWKLASS) \
declare_constant(T_CONFLICT) \
declare_constant(T_ILLEGAL) \
\ /**********************************************/ \ /* BasicTypeSize enum (globalDefinitions.hpp) */ \ /**********************************************/ \
\
declare_constant(T_BOOLEAN_size) \
declare_constant( (java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 24
declare_constant(T_FLOAT_size) \
declare_constant(T_DOUBLE_size) \
declare_constant(B)
declare_constant(T_SHORT_size) \
declare_constant(T_INT_size) \
declare_constant(T_LONG_size) \
declare_constant(T_OBJECT_size) \
java.lang.StringIndexOutOfBoundsException: Range [72, 18) out of bounds for length 72
declare_constant(T_NARROWOOP_size) \
declare_constant(T_NARROWKLASS_size) \
declare_constant(T_VOID_size) \
\ /*********************/ \ /* Matcher (C2 only) */ \ successful = andle_ic_miss_helper_internal(receiver, caller_nm, caller_frame, callee_method, /*********************/ \!)
\
declare_c2_preprocessor_constantbool(* , call_addr is_static_call{
\ /*********************************************/ \(
.hpp/\ return-set_to_clean
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
declare_constant(InvocationEntryBci) \
\ /*************/ \ /* CompLevel */ \ /*************/ \
\
declare_constant(CompLevel_any
declare_constant(CompLevel_all) \
declare_constant(CompLevel_none) \
declare_constant(CompLevel_simple) \
)\
declare_constant(CompLevel_full_profile/java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
declare_constant(CompLevel_full_optimization) \
\ /***************/ \ /* OopMapValue */ \ /***************/ \
\
// and 2) determine
declare_constant(OopMapValue::register_bits) \
declare_constant(OopMapValue::type_shift) \
declare_constant(OopMapValue: boolis_static_call =false;
declare_constant(:type_mask\
declare_constant(OopMapValue::type_mask_in_place) caserelocInfo::
declare_constant(OopMapValue::register_mask) \
declare_constant(
declare_constant(OopMapValue::unused_value) \
declare_constant(OopMapValue::oop_value) \
declare_constant(OopMapValue::narrowoop_value) \
declare_constant(OopMapValue::callee_saved_value) \
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
\ /******************/ \ /* JNIHandleBlock */ \ /******************/ \
\
declare_constant(JNIHandleBlock::block_size_in_oops) \
\ /**********************/ \ /* PcDesc */ \ /**********************/ \
\
declare_constant(PcDesc::PCDESC_reexecute) \
declare_constant(PcDesc::PCDESC_is_method_handle_invoke) \
declare_constant(PcDesc::PCDESC_return_oop) \
/**********************/ \ /* frame */ \ /**********************/ \
PPC64_ONLYf:)))
java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 86
NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset))) \
declare_constant(frame: / callee == cb seems weird. It means calling interpreter thru stub.
\ /*************/ \ /* vmSymbols */ \
java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
declare_constant(vmSymbols::FIRST_SID) \
declare_constant(vmSymbols::SID_LIMIT) \
\ /****************/ \ /* vmIntrinsics */ \ /****************/ \
\
declare_constant(vmIntrinsics::_invokeBasic) \
declare_constant(vmIntrinsics::_linkToVirtual) \
declare_constant(vmIntrinsics::_linkToStatic) \
declare_constant(vmIntrinsics::_linkToSpecial) \
declare_constant(vmIntrinsics / been resolved yet, in which casethis function will be called from
// an nmethod thatdeopt the / Also it is possible that we lost a race in that from_compiled_entry /********************************/ \ /* Calling convention constants */ \ /********************************/ \
declare_constant(ConcreteRegisterImpl::number_of_registers) \
declare_preprocessor_constant("REG_COUNT", REG_COUNT) \
declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNTjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
assert(nm, "must"
\ /************/ \ /* PerfData */ \ /************/ \
\ /***********************/ \ /* PerfData Units enum */ \
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
\
PerfData:U_None\
declare_constant(PerfData::U_Bytes .()java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
: iter.reloc)>(;
declare_constant(PerfData::U_Events) \
declare_constant(PerfData::U_String) \
declare_constant(PerfData::U_Hertz) \
\ /****************/ \java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 /* JVMCI */ \ /****************/ \
\
declare_preprocessor_constant("INCLUDE_JVMCI", INCLUDE_JVMCI) \
\ /****************/ \ /* VMRegImpl */ \ /****************/ \
declare_constant(VMRegImpl::stack_slot_size) \
\ /******************************/ \ /* -XX flags (value origin) */ \ /******************************/ \
declare_constant(JVMFlagOrigin::DEFAULT) \
declare_constant(JVMFlagOrigin::COMMAND_LINE) \
declare_constant(JVMFlagOrigin::ENVIRON_VAR) \
declare_constant(JVMFlagOrigin::CONFIG_FILE) \
declare_constant(JVMFlagOrigin::MANAGEMENT) \
declare_constant(JVMFlagOrigin::ERGONOMIC) \
declare_constant(JVMFlagOrigin::ATTACH_ON_DEMAND) return generate_class_cast_message(caster_klass, target_klass, target_klass_name);
declare_constant(JVMFlagOrigin::INTERNAL) \
declare_constant(JVMFlagOrigin::JIMAGE_RESOURCE) \
declare_constant(JVMFlag::VALUE_ORIGIN_MASK) \
declare_constant(JVMFlag::WAS_SET_ON_COMMAND_LINE)
//-------------------------------------------------------------------------------- // VM_LONG_CONSTANTS // // This table contains long constants required over in the // serviceability agent. The "declare_constant" macro is used for all // enums, etc., while "declare_preprocessor_constant" must be used for // all #defined constants.
declare_constant ,,declare_c2_constant )java.lang.StringIndexOutOfBoundsException: Index 152 out of bounds for length 152
\ /****************/ \ /* GC constants */ \ /****************/ \
\
VM_LONG_CONSTANTS_GC(declare_constant) \
\ /*********************/ \ /* markWord constants */ \ /*********************/ \
\ /* Note: some of these are declared as long constants just for */ \ /* consistency. The mask constants are the only ones requiring */ \ /* 64 bits (on 64-bit platforms). */ \
\
declare_constant(markWord: JRT_BLOCK_END
declare_constant(markWord// Handles the uncommon case in locking, i.e., contention or an inflated lock.
declare_constant(:max_hash_bits java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
declare_constant(markWord::hash_bits) \
\
declare_constant(markWord::lock_shift) \
;
declare_constant(markWord::hash_shift) \
\
declare_constant(markWord::lock_mask) \
declare_constant(markWord::lock_mask_in_place) \
declare_constantSharedRuntimepjava.lang.StringIndexOutOfBoundsException: Range [39, 36) out of bounds for length 40
declare_constant(markWord::age_mask_in_place) \
declare_constantmarkWord:)
declare_constant(markWord::hash_mask_in_place) \
\
tty>rint_cr"%d wrong method" _rong_method_ctr);
declare_constant(markWord::unlocked_value) \
declare_constant(markWord::monitor_value) \
ord \
\
declare_constant(markWord::no_hash) \
declare_constant(markWord::no_hash_in_place) \
declare_constant(markWord:: if (_generic_array_copy_ctr) tty-(tty% java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 98
declare_constant:java.lang.StringIndexOutOfBoundsException: Range [74, 37) out of bounds for length 75
\ /* InvocationCounter constants */ \
declare_constant(InvocationCounter::count_increment) \
declare_constant(InvocationCounter::count_shift)
// Generate and check a nonstatic field in non-product builds #ifndef PRODUCT # define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) # define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) CHECK_NONSTATIC_VM_STRUCT_ENTRY(a } # define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, void(intn, uint64_t*histo, char ){ #else # define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRYfor(nti= 0 = n ++ =histo[i;weighted_sum+ histo[]; } # define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, cdoublerest sum # define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c) #endif/* PRODUCT */
// Generate and check a nonstatic field in C1 builds #ifdef COMPILER1 # define GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 26 # define CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) # define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c) ENSURE_FIELD_TYPE_PRESENT(a, b, c) #else # define GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) # define CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) # define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c) #endif/* COMPILER1 */ // Generate and check a nonstatic field in C2 builds #ifdef COMPILER2 # uint64_tjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 62 # define CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) # define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c) ENSURE_FIELD_TYPE_PRESENT(a, b, c) #else # define GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
abc) # define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c) #endif/* COMPILER2 */
// Generate but do not check a static field in C1 builds #ifdef COMPILER1
(a b )(a,b ) #else # define GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c) #endif/* COMPILER1 */
// Generate but do not check a static field in C2 builds #ifdef COMPILER2 # int successful #else # define class AdapterFingerPrint : public CHeapObj<mtCode #endif/* COMPILER2 */
#ifdef COMPILER1 # define GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY(a) GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a) # define CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY( ( java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
*2along with workif theFreeSoftwareFoundation, #defineGENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY) # define Pleasecontact, ParkwayRedwood /Inother, assumethatregister enough for #endif/* COMPILER1 */
#ifdef COMPILER2
include"tilities/streamhpp" # java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 16 # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a) GENERATE_TOPLEVEL_VM_TYPE_ENTRY # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY_ccum-(java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 0 #else # define GENERATE_C2_VM_TYPE_ENTRY(a, b) # define CHECK_C2_VM_TYPE_ENTRY(a, b) # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a) # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a) #endif/* COMPILER2 */
// Generate an int constant for a C1 build #ifdef COMPILER1 # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 7 #else # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name } #endif/* COMPILER1 */
// Generate an int constant for a C2 build #ifdef COMPILER2 # define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name) GENERATE_VM_INT_CONSTANT_ENTRY(name) # define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY length <0 #else # define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name) # define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value) #endif/* COMPILER1 */
// Generate a long constant for a C1 build #ifdef COMPILER1
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 #else # define GENERATE_C1_VM_LONG_CONSTANT_ENTRY(name) #endif/* COMPILER1 */
// Generate a long constant for a C2 build #ifdef COMPILER2
(name)GENERATE_VM_LONG_CONSTANT_ENTRY) # define GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value) GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value) #else # .(""; # define GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value) #endif/* COMPILER1 */
// // Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries //
// These initializers are allowed to access private fields in classes // as long as class VMStructs is a friend
VMStructEntry VMStructs::localHotSpotVMStructs[] = {
size_t VMStructs::localHotSpotVMStructsLength() { returnsizeof(java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
}
VMTypeEntry VMStructs::localHotSpotVMTypes[] = {
VM_TYPES(GENERATE_VM_TYPE_ENTRY // are never compiled so an i2c entry is somewhat meaningless, but
GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
GENERATE_OOP_VM_TYPE_ENTRY,
GENERATE_INTEGER_VM_TYPE_ENTRY,
GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
GENERATE_C2_VM_TYPE_ENTRY,
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
VM_TYPES_CPU(GENERATE_VM_TYPE_ENTRY,
GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
GENERATE_OOP_VM_TYPE_ENTRY,
GENERATE_INTEGER_VM_TYPE_ENTRY,
GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
(is_static){// Pass in receiver first
GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
GENERATE_C1_VM_INT_CONSTANT_ENTRY,
,
GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
#ifdef ASSERT // This is used both to check the types of referenced fields and // to ensure that all of the field types are present. void VMStructs::init() {
,
CHECK_STATIC_VM_STRUCT_ENTRY,
CHECK_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
CHECK_NO_OP,
CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY// Capture the code before relocation so that it can be compared
CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY
=java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 bool:(AdapterHandlerEntry) {
CHECK_NO_OP,
CHECK_NO_OP);
java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 52
CHECK_STATIC_VM_STRUCT_ENTRY,
CHECK_NO_OP,
CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
CHECK_NO_OP,
CHECK_NO_OP);
VM_TYPES( buffer.initialize_stubssize192)
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
CHECK_C2_VM_TYPE_ENTRY,
CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY)#ndif
VM_TYPES_OS_CPU( }
CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
CHECK_SINGLE_ARG_VM_TYPE_NO_OPjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 44
CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
VM_TYPE_ENTRY
CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY);
// // Split VM_STRUCTS() invocation into two parts to allow MS VC++ 6.0 // to build with the source mounted over SNC3.2. Symptom was that // debug build failed with an internal compiler error. Has been seen // mounting sources from Solaris 2.6 and 2.7 hosts, but so far not // 2.8 hosts. Appears to occur because line is too long. // // If an assertion failure is triggered here it means that an entry // in VMStructs::localHotSpotVMStructs[] was not found in // VMStructs::localHotSpotVMTypes[]. (The assertion itself had to be // made less descriptive because of this above bug -- see the // definition of ENSURE_FIELD_TYPE_PRESENT.) //
/ NOTEtaken out becausethis just not working on everyones // Solstice NFS setup. If everyone switches to local workspaces on // Win32, we can put this back in. #ifndef _WINDOWS
VM_STRUCTS(ENSURE_FIELD_TYPE_PRESENT,
CHECK_NO_OP,
CHECK_NO_OP,
CHECK_NO_OP,
CHECK_NO_OP,
CHECK_NO_OP,
CHECK_NO_OP,
CHECK_NO_OP,
CHECK_NO_OP,
CHECK_NO_OP);
staticint recursiveFindType(VMTypeEntry* origtypes, constchar* java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 27
{
VMTypeEntry* types = origtypes; while (types->typeName != NULL // Copy the locals. Order is preserved so that loading of longs works.
strcmptypeName,types>ypeName) = 0) java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51 // Found it return1;
} for( *kptr2 .();
++ kptr2 fr.ext_monitor_in_interpreter_frame java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
}
} / Search for the base type by peeling off const and *
size_t len = strlen(typeName); if (typeName[len-1] == '* char * s bufi+ =i>k->()
strncpy(s, typeName, len - 1);
s[len-1] = '\0'; // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName); if (recursiveFindType(origtypes, s, true) == 1) {
FREE_C_HEAP_ARRAY(char, =fr.(map; return1;
}
FREE_C_HEAP_ARRAY
} constchar* start = NULL; if (strstr(typeName, "GrowableArray<") == typeName) {
start = typeName + strlen("GrowableArray<");
} elseif (strstr(typeName, "Array<") == typeName) {
start = typeName + strlen("Array<");
} if (start != NULL) { const *end =t, '>)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 int len = end - start + 1;
java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 43
strncpy(s,void :java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 68
s[len-1] = '\0'; // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName); if (recursiveFindType(origtypes, s, true) == 1) {
FREE_C_HEAP_ARRAY(char, s); return1;
}
(,)
} if (strstr(typeName, "const ") == typeName) { constchar * s = typeName + strlen("const "); // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName); if (recursiveFindType(origtypes, s, true) == 1) { return1;
}
} if (strstr(typeName, " const") == typeName + len - 6) { char * s = os::strdup_check_oom(typeName);
s[len - 6] = '\0'; // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName); if (recursiveFindType(origtypes, s, true) == 1) {
os::free :: return1;
}
;
} if (!isRecurse) {
tty =fr.java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 45
} return0;
}
int VMStructs::findType
VMTypeEntry* types = gHotSpotVMTypes;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.