23 *
24 */
25
26 #ifndef CPU_PPC_RELOCINFO_PPC_HPP
27 #define CPU_PPC_RELOCINFO_PPC_HPP
28
29 // machine-dependent parts of class relocInfo
30 private:
31 enum {
32 // Since Power instructions are whole words,
33 // the two low-order offset bits can always be discarded.
34 offset_unit = 4,
35
36 // There is no need for format bits; the instructions are
37 // sufficiently self-identifying.
38 #ifndef _LP64
39 format_width = 0
40 #else
41 // Except narrow oops in 64-bits VM.
42 // Must be at least 2 for ZGC GC barrier patching.
43 format_width = 2
44 #endif
45 };
46
47 public:
48
49 // This platform has no oops in the code that are not also
50 // listed in the oop section.
51 static bool mustIterateImmediateOopsInCode() { return false; }
52
53 #endif // CPU_PPC_RELOCINFO_PPC_HPP
|
23 *
24 */
25
26 #ifndef CPU_PPC_RELOCINFO_PPC_HPP
27 #define CPU_PPC_RELOCINFO_PPC_HPP
28
29 // machine-dependent parts of class relocInfo
30 private:
31 enum {
32 // Since Power instructions are whole words,
33 // the two low-order offset bits can always be discarded.
34 offset_unit = 4,
35
36 // There is no need for format bits; the instructions are
37 // sufficiently self-identifying.
38 #ifndef _LP64
39 format_width = 0
40 #else
41 // Except narrow oops in 64-bits VM.
42 // Must be at least 2 for ZGC GC barrier patching.
43 // Must be at least 3 for Shenandoah GC barrier patching.
44 format_width = 3
45 #endif
46 };
47
48 public:
49
50 // This platform has no oops in the code that are not also
51 // listed in the oop section.
52 static bool mustIterateImmediateOopsInCode() { return false; }
53
54 #endif // CPU_PPC_RELOCINFO_PPC_HPP
|