52 }
53
54 /**
55 * Gets the host architecture name for the purpose of finding the corresponding
56 * {@linkplain HotSpotJVMCIBackendFactory backend}.
57 */
58 String getHostArchitectureName() {
59 Architecture arch = Architecture.current();
60 switch (arch) {
61 case X64: return "amd64";
62 default: return arch.name().toLowerCase();
63 }
64 }
65
66 final boolean useDeferredInitBarriers = getFlag("ReduceInitialCardMarks", Boolean.class);
67
68 final boolean useCompressedOops = getFlag("UseCompressedOops", Boolean.class);
69
70 final int objectAlignment = getFlag("ObjectAlignmentInBytes", Integer.class);
71
72 final int hubOffset = getFieldOffset("oopDesc::_metadata._klass", Integer.class, "Klass*");
73
74 final int subklassOffset = getFieldOffset("Klass::_subklass", Integer.class, "Klass*");
75 final int superOffset = getFieldOffset("Klass::_super", Integer.class, "Klass*");
76 final int nextSiblingOffset = getFieldOffset("Klass::_next_sibling", Integer.class, "Klass*");
77 final int superCheckOffsetOffset = getFieldOffset("Klass::_super_check_offset", Integer.class, "juint");
78 final int secondarySuperCacheOffset = getFieldOffset("Klass::_secondary_super_cache", Integer.class, "Klass*");
79
80 final int classLoaderDataOffset = getFieldOffset("Klass::_class_loader_data", Integer.class, "ClassLoaderData*");
81
82 /**
83 * The offset of the _java_mirror field (of type {@link Class}) in a Klass.
84 */
85 final int javaMirrorOffset = getFieldOffset("Klass::_java_mirror", Integer.class, "OopHandle");
86
87 final int klassAccessFlagsOffset = getFieldOffset("Klass::_access_flags", Integer.class, "AccessFlags");
88 final int klassLayoutHelperOffset = getFieldOffset("Klass::_layout_helper", Integer.class, "jint");
89
90 final int klassLayoutHelperNeutralValue = getConstant("Klass::_lh_neutral_value", Integer.class);
91 final int klassLayoutHelperInstanceSlowPathBit = getConstant("Klass::_lh_instance_slow_path_bit", Integer.class);
92
|
52 }
53
54 /**
55 * Gets the host architecture name for the purpose of finding the corresponding
56 * {@linkplain HotSpotJVMCIBackendFactory backend}.
57 */
58 String getHostArchitectureName() {
59 Architecture arch = Architecture.current();
60 switch (arch) {
61 case X64: return "amd64";
62 default: return arch.name().toLowerCase();
63 }
64 }
65
66 final boolean useDeferredInitBarriers = getFlag("ReduceInitialCardMarks", Boolean.class);
67
68 final boolean useCompressedOops = getFlag("UseCompressedOops", Boolean.class);
69
70 final int objectAlignment = getFlag("ObjectAlignmentInBytes", Integer.class);
71
72 // TODO: Lilliput. Probably ok.
73 final int hubOffset = 4; // getFieldOffset("oopDesc::_metadata._klass", Integer.class, "Klass*");
74
75 final int subklassOffset = getFieldOffset("Klass::_subklass", Integer.class, "Klass*");
76 final int superOffset = getFieldOffset("Klass::_super", Integer.class, "Klass*");
77 final int nextSiblingOffset = getFieldOffset("Klass::_next_sibling", Integer.class, "Klass*");
78 final int superCheckOffsetOffset = getFieldOffset("Klass::_super_check_offset", Integer.class, "juint");
79 final int secondarySuperCacheOffset = getFieldOffset("Klass::_secondary_super_cache", Integer.class, "Klass*");
80
81 final int classLoaderDataOffset = getFieldOffset("Klass::_class_loader_data", Integer.class, "ClassLoaderData*");
82
83 /**
84 * The offset of the _java_mirror field (of type {@link Class}) in a Klass.
85 */
86 final int javaMirrorOffset = getFieldOffset("Klass::_java_mirror", Integer.class, "OopHandle");
87
88 final int klassAccessFlagsOffset = getFieldOffset("Klass::_access_flags", Integer.class, "AccessFlags");
89 final int klassLayoutHelperOffset = getFieldOffset("Klass::_layout_helper", Integer.class, "jint");
90
91 final int klassLayoutHelperNeutralValue = getConstant("Klass::_lh_neutral_value", Integer.class);
92 final int klassLayoutHelperInstanceSlowPathBit = getConstant("Klass::_lh_instance_slow_path_bit", Integer.class);
93
|