57 //
58 //
59 // 6 4 4 4 4 4 0
60 // 3 7 6 5 2 1 0
61 // +-------------------+-+----+-----------------------------------------------+
62 // |00000000 00000000 0|0|1111|11 11111111 11111111 11111111 11111111 11111111|
63 // +-------------------+-+----+-----------------------------------------------+
64 // | | | |
65 // | | | * 41-0 Object Offset (42-bits, 4TB address space)
66 // | | |
67 // | | * 45-42 Metadata Bits (4-bits) 0001 = Marked0 (Address view 4-8TB)
68 // | | 0010 = Marked1 (Address view 8-12TB)
69 // | | 0100 = Remapped (Address view 16-20TB)
70 // | | 1000 = Finalizable (Address view N/A)
71 // | |
72 // | * 46-46 Unused (1-bit, always zero)
73 // |
74 // * 63-47 Fixed (17-bits, always zero)
75 //
76
77 const size_t ZPlatformPageSizeSmallShift = 21; // 2M
78
79 const size_t ZPlatformAddressOffsetBits = 42; // 4TB
80
81 const uintptr_t ZPlatformAddressMetadataShift = ZPlatformAddressOffsetBits;
82
83 const uintptr_t ZPlatformAddressSpaceStart = (uintptr_t)1 << ZPlatformAddressOffsetBits;
84 const uintptr_t ZPlatformAddressSpaceSize = ((uintptr_t)1 << ZPlatformAddressOffsetBits) * 4;
85
86 const size_t ZPlatformNMethodDisarmedOffset = 4;
87
88 const size_t ZPlatformCacheLineSize = 64;
89
90 #endif // OS_CPU_LINUX_X86_GC_Z_ZGLOBALS_LINUX_X86_HPP
|
57 //
58 //
59 // 6 4 4 4 4 4 0
60 // 3 7 6 5 2 1 0
61 // +-------------------+-+----+-----------------------------------------------+
62 // |00000000 00000000 0|0|1111|11 11111111 11111111 11111111 11111111 11111111|
63 // +-------------------+-+----+-----------------------------------------------+
64 // | | | |
65 // | | | * 41-0 Object Offset (42-bits, 4TB address space)
66 // | | |
67 // | | * 45-42 Metadata Bits (4-bits) 0001 = Marked0 (Address view 4-8TB)
68 // | | 0010 = Marked1 (Address view 8-12TB)
69 // | | 0100 = Remapped (Address view 16-20TB)
70 // | | 1000 = Finalizable (Address view N/A)
71 // | |
72 // | * 46-46 Unused (1-bit, always zero)
73 // |
74 // * 63-47 Fixed (17-bits, always zero)
75 //
76
77 const size_t ZPlatformGranuleSizeShift = 21; // 2M
78
79 const size_t ZPlatformAddressOffsetBits = 42; // 4TB
80
81 const uintptr_t ZPlatformAddressMetadataShift = ZPlatformAddressOffsetBits;
82
83 const uintptr_t ZPlatformAddressSpaceStart = (uintptr_t)1 << ZPlatformAddressOffsetBits;
84 const uintptr_t ZPlatformAddressSpaceSize = ((uintptr_t)1 << ZPlatformAddressOffsetBits) * 4;
85
86 const size_t ZPlatformNMethodDisarmedOffset = 4;
87
88 const size_t ZPlatformCacheLineSize = 64;
89
90 #endif // OS_CPU_LINUX_X86_GC_Z_ZGLOBALS_LINUX_X86_HPP
|