Mercurial > hg > truffle
comparison src/share/vm/runtime/vmStructs.cpp @ 187:790e66e5fbac
6687581: Make CMS work with compressed oops
Summary: Make FreeChunk read markword instead of LSB in _klass pointer to indicate that it's a FreeChunk for compressed oops.
Reviewed-by: ysr, jmasa
author | coleenp |
---|---|
date | Mon, 09 Jun 2008 11:51:19 -0400 |
parents | 83c868b757c0 |
children | c0ecab83e6f3 |
comparison
equal
deleted
inserted
replaced
185:8759d37f2524 | 187:790e66e5fbac |
---|---|
1692 declare_constant(markOopDesc::biased_lock_pattern) \ | 1692 declare_constant(markOopDesc::biased_lock_pattern) \ |
1693 \ | 1693 \ |
1694 declare_constant(markOopDesc::no_hash) \ | 1694 declare_constant(markOopDesc::no_hash) \ |
1695 declare_constant(markOopDesc::no_hash_in_place) \ | 1695 declare_constant(markOopDesc::no_hash_in_place) \ |
1696 declare_constant(markOopDesc::no_lock_in_place) \ | 1696 declare_constant(markOopDesc::no_lock_in_place) \ |
1697 declare_constant(markOopDesc::max_age) | 1697 declare_constant(markOopDesc::max_age) \ |
1698 \ | |
1699 /* Constants in markOop used by CMS. */ \ | |
1700 declare_constant(markOopDesc::cms_shift) \ | |
1701 declare_constant(markOopDesc::cms_mask) \ | |
1702 declare_constant(markOopDesc::size_shift) \ | |
1698 | 1703 |
1699 /* NOTE that we do not use the last_entry() macro here; it is used */ | 1704 /* NOTE that we do not use the last_entry() macro here; it is used */ |
1700 /* in vmStructs_<os>_<cpu>.hpp's VM_LONG_CONSTANTS_OS_CPU macro (and */ | 1705 /* in vmStructs_<os>_<cpu>.hpp's VM_LONG_CONSTANTS_OS_CPU macro (and */ |
1701 /* must be present there) */ | 1706 /* must be present there) */ |
1702 | 1707 |
1956 #ifndef SERIALGC | 1961 #ifndef SERIALGC |
1957 VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \ | 1962 VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \ |
1958 GENERATE_STATIC_VM_STRUCT_ENTRY) | 1963 GENERATE_STATIC_VM_STRUCT_ENTRY) |
1959 | 1964 |
1960 VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \ | 1965 VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \ |
1966 GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \ | |
1961 GENERATE_STATIC_VM_STRUCT_ENTRY) | 1967 GENERATE_STATIC_VM_STRUCT_ENTRY) |
1962 #endif // SERIALGC | 1968 #endif // SERIALGC |
1963 | 1969 |
1964 VM_STRUCTS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \ | 1970 VM_STRUCTS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \ |
1965 GENERATE_STATIC_VM_STRUCT_ENTRY, \ | 1971 GENERATE_STATIC_VM_STRUCT_ENTRY, \ |
2097 #ifndef SERIALGC | 2103 #ifndef SERIALGC |
2098 VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY, | 2104 VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY, |
2099 CHECK_STATIC_VM_STRUCT_ENTRY); | 2105 CHECK_STATIC_VM_STRUCT_ENTRY); |
2100 | 2106 |
2101 VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY, | 2107 VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY, |
2108 CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY, | |
2102 CHECK_STATIC_VM_STRUCT_ENTRY); | 2109 CHECK_STATIC_VM_STRUCT_ENTRY); |
2103 #endif // SERIALGC | 2110 #endif // SERIALGC |
2104 | 2111 |
2105 VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY, | 2112 VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY, |
2106 CHECK_STATIC_VM_STRUCT_ENTRY, | 2113 CHECK_STATIC_VM_STRUCT_ENTRY, |
2201 CHECK_SENTINEL)); | 2208 CHECK_SENTINEL)); |
2202 #ifndef SERIALGC | 2209 #ifndef SERIALGC |
2203 debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT, \ | 2210 debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT, \ |
2204 ENSURE_FIELD_TYPE_PRESENT)); | 2211 ENSURE_FIELD_TYPE_PRESENT)); |
2205 debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT, \ | 2212 debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT, \ |
2213 ENSURE_FIELD_TYPE_PRESENT, \ | |
2206 ENSURE_FIELD_TYPE_PRESENT)); | 2214 ENSURE_FIELD_TYPE_PRESENT)); |
2207 #endif // SERIALGC | 2215 #endif // SERIALGC |
2208 debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT, \ | 2216 debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT, \ |
2209 ENSURE_FIELD_TYPE_PRESENT, \ | 2217 ENSURE_FIELD_TYPE_PRESENT, \ |
2210 CHECK_NO_OP, \ | 2218 CHECK_NO_OP, \ |