100
101 final int arrayU1LengthOffset = getFieldOffset("Array<int>::_length", Integer.class, "int");
102 final int arrayU1DataOffset = getFieldOffset("Array<u1>::_data", Integer.class);
103 final int arrayU2DataOffset = getFieldOffset("Array<u2>::_data", Integer.class);
104
105 final int fieldInfoAccessFlagsOffset = getConstant("FieldInfo::access_flags_offset", Integer.class);
106 final int fieldInfoNameIndexOffset = getConstant("FieldInfo::name_index_offset", Integer.class);
107 final int fieldInfoSignatureIndexOffset = getConstant("FieldInfo::signature_index_offset", Integer.class);
108 final int fieldInfoLowPackedOffset = getConstant("FieldInfo::low_packed_offset", Integer.class);
109 final int fieldInfoHighPackedOffset = getConstant("FieldInfo::high_packed_offset", Integer.class);
110 final int fieldInfoFieldSlots = getConstant("FieldInfo::field_slots", Integer.class);
111
112 final int fieldInfoTagSize = getConstant("FIELDINFO_TAG_SIZE", Integer.class);
113
114 final int jvmAccHasFinalizer = getConstant("JVM_ACC_HAS_FINALIZER", Integer.class);
115 final int jvmAccFieldInternal = getConstant("JVM_ACC_FIELD_INTERNAL", Integer.class);
116 final int jvmAccFieldStable = getConstant("JVM_ACC_FIELD_STABLE", Integer.class);
117 final int jvmAccFieldHasGenericSignature = getConstant("JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE", Integer.class);
118 final int jvmAccIsCloneableFast = getConstant("JVM_ACC_IS_CLONEABLE_FAST", Integer.class);
119
120 // Modifier.SYNTHETIC is not public so we get it via vmStructs.
121 final int jvmAccSynthetic = getConstant("JVM_ACC_SYNTHETIC", Integer.class);
122
123 // This is only valid on AMD64.
124 final int runtimeCallStackSize = getConstant("frame::arg_reg_save_area_bytes", Integer.class, osArch.equals("amd64") ? null : 0);
125
126 private final int markWordNoHashInPlace = getConstant("markOopDesc::no_hash_in_place", Integer.class);
127 private final int markWordNoLockInPlace = getConstant("markOopDesc::no_lock_in_place", Integer.class);
128
129 /**
130 * See {@code markOopDesc::prototype()}.
131 */
132 long arrayPrototypeMarkWord() {
133 return markWordNoHashInPlace | markWordNoLockInPlace;
134 }
135
136 final int methodAccessFlagsOffset = getFieldOffset("Method::_access_flags", Integer.class, "AccessFlags");
137 final int methodConstMethodOffset = getFieldOffset("Method::_constMethod", Integer.class, "ConstMethod*");
138 final int methodIntrinsicIdOffset = getFieldOffset("Method::_intrinsic_id", Integer.class, "u2");
139 final int methodFlagsOffset = getFieldOffset("Method::_flags", Integer.class, "u2");
140 final int methodVtableIndexOffset = getFieldOffset("Method::_vtable_index", Integer.class, "int");
141
|
100
101 final int arrayU1LengthOffset = getFieldOffset("Array<int>::_length", Integer.class, "int");
102 final int arrayU1DataOffset = getFieldOffset("Array<u1>::_data", Integer.class);
103 final int arrayU2DataOffset = getFieldOffset("Array<u2>::_data", Integer.class);
104
105 final int fieldInfoAccessFlagsOffset = getConstant("FieldInfo::access_flags_offset", Integer.class);
106 final int fieldInfoNameIndexOffset = getConstant("FieldInfo::name_index_offset", Integer.class);
107 final int fieldInfoSignatureIndexOffset = getConstant("FieldInfo::signature_index_offset", Integer.class);
108 final int fieldInfoLowPackedOffset = getConstant("FieldInfo::low_packed_offset", Integer.class);
109 final int fieldInfoHighPackedOffset = getConstant("FieldInfo::high_packed_offset", Integer.class);
110 final int fieldInfoFieldSlots = getConstant("FieldInfo::field_slots", Integer.class);
111
112 final int fieldInfoTagSize = getConstant("FIELDINFO_TAG_SIZE", Integer.class);
113
114 final int jvmAccHasFinalizer = getConstant("JVM_ACC_HAS_FINALIZER", Integer.class);
115 final int jvmAccFieldInternal = getConstant("JVM_ACC_FIELD_INTERNAL", Integer.class);
116 final int jvmAccFieldStable = getConstant("JVM_ACC_FIELD_STABLE", Integer.class);
117 final int jvmAccFieldHasGenericSignature = getConstant("JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE", Integer.class);
118 final int jvmAccIsCloneableFast = getConstant("JVM_ACC_IS_CLONEABLE_FAST", Integer.class);
119
120 // These modifiers are not public in Modifier so we get them via vmStructs.
121 final int jvmAccSynthetic = getConstant("JVM_ACC_SYNTHETIC", Integer.class);
122 final int jvmAccAnnotation = getConstant("JVM_ACC_ANNOTATION", Integer.class);
123 final int jvmAccBridge = getConstant("JVM_ACC_BRIDGE", Integer.class);
124 final int jvmAccVarargs = getConstant("JVM_ACC_VARARGS", Integer.class);
125 final int jvmAccEnum = getConstant("JVM_ACC_ENUM", Integer.class);
126
127 // This is only valid on AMD64.
128 final int runtimeCallStackSize = getConstant("frame::arg_reg_save_area_bytes", Integer.class, osArch.equals("amd64") ? null : 0);
129
130 private final int markWordNoHashInPlace = getConstant("markOopDesc::no_hash_in_place", Integer.class);
131 private final int markWordNoLockInPlace = getConstant("markOopDesc::no_lock_in_place", Integer.class);
132
133 /**
134 * See {@code markOopDesc::prototype()}.
135 */
136 long arrayPrototypeMarkWord() {
137 return markWordNoHashInPlace | markWordNoLockInPlace;
138 }
139
140 final int methodAccessFlagsOffset = getFieldOffset("Method::_access_flags", Integer.class, "AccessFlags");
141 final int methodConstMethodOffset = getFieldOffset("Method::_constMethod", Integer.class, "ConstMethod*");
142 final int methodIntrinsicIdOffset = getFieldOffset("Method::_intrinsic_id", Integer.class, "u2");
143 final int methodFlagsOffset = getFieldOffset("Method::_flags", Integer.class, "u2");
144 final int methodVtableIndexOffset = getFieldOffset("Method::_vtable_index", Integer.class, "int");
145
|