< prev index next >

src/hotspot/share/oops/accessDecorators.hpp

Print this page
rev 50453 : imported patch 02.removeInArchiveRoot

*** 190,203 **** // implies that it is also an IN_ROOT. const DecoratorSet IN_HEAP = UCONST64(1) << 20; const DecoratorSet IN_HEAP_ARRAY = UCONST64(1) << 21; const DecoratorSet IN_ROOT = UCONST64(1) << 22; const DecoratorSet IN_CONCURRENT_ROOT = UCONST64(1) << 23; - const DecoratorSet IN_ARCHIVE_ROOT = UCONST64(1) << 24; const DecoratorSet IN_DECORATOR_MASK = IN_HEAP | IN_HEAP_ARRAY | ! IN_ROOT | IN_CONCURRENT_ROOT | ! IN_ARCHIVE_ROOT; // == Value Decorators == // * OOP_NOT_NULL: This property can make certain barriers faster such as compressing oops. const DecoratorSet OOP_NOT_NULL = UCONST64(1) << 25; const DecoratorSet OOP_DECORATOR_MASK = OOP_NOT_NULL; --- 190,201 ---- // implies that it is also an IN_ROOT. const DecoratorSet IN_HEAP = UCONST64(1) << 20; const DecoratorSet IN_HEAP_ARRAY = UCONST64(1) << 21; const DecoratorSet IN_ROOT = UCONST64(1) << 22; const DecoratorSet IN_CONCURRENT_ROOT = UCONST64(1) << 23; const DecoratorSet IN_DECORATOR_MASK = IN_HEAP | IN_HEAP_ARRAY | ! IN_ROOT | IN_CONCURRENT_ROOT; // == Value Decorators == // * OOP_NOT_NULL: This property can make certain barriers faster such as compressing oops. const DecoratorSet OOP_NOT_NULL = UCONST64(1) << 25; const DecoratorSet OOP_DECORATOR_MASK = OOP_NOT_NULL;
*** 243,255 **** // Heap array accesses imply it is a heap access static const DecoratorSet heap_array_is_in_heap = barrier_strength_default | ((IN_HEAP_ARRAY & barrier_strength_default) != 0 ? IN_HEAP : INTERNAL_EMPTY); static const DecoratorSet conc_root_is_root = heap_array_is_in_heap | ((IN_CONCURRENT_ROOT & heap_array_is_in_heap) != 0 ? IN_ROOT : INTERNAL_EMPTY); ! static const DecoratorSet archive_root_is_root = conc_root_is_root | ! ((IN_ARCHIVE_ROOT & conc_root_is_root) != 0 ? IN_ROOT : INTERNAL_EMPTY); ! static const DecoratorSet value = archive_root_is_root | BT_BUILDTIME_DECORATORS; }; // This function implements the above DecoratorFixup rules, but without meta // programming for code generation that does not use templates. inline DecoratorSet decorator_fixup(DecoratorSet input_decorators) { --- 241,251 ---- // Heap array accesses imply it is a heap access static const DecoratorSet heap_array_is_in_heap = barrier_strength_default | ((IN_HEAP_ARRAY & barrier_strength_default) != 0 ? IN_HEAP : INTERNAL_EMPTY); static const DecoratorSet conc_root_is_root = heap_array_is_in_heap | ((IN_CONCURRENT_ROOT & heap_array_is_in_heap) != 0 ? IN_ROOT : INTERNAL_EMPTY); ! static const DecoratorSet value = conc_root_is_root | BT_BUILDTIME_DECORATORS; }; // This function implements the above DecoratorFixup rules, but without meta // programming for code generation that does not use templates. inline DecoratorSet decorator_fixup(DecoratorSet input_decorators) {
*** 266,278 **** // Heap array accesses imply it is a heap access DecoratorSet heap_array_is_in_heap = barrier_strength_default | ((IN_HEAP_ARRAY & barrier_strength_default) != 0 ? IN_HEAP : INTERNAL_EMPTY); DecoratorSet conc_root_is_root = heap_array_is_in_heap | ((IN_CONCURRENT_ROOT & heap_array_is_in_heap) != 0 ? IN_ROOT : INTERNAL_EMPTY); ! DecoratorSet archive_root_is_root = conc_root_is_root | ! ((IN_ARCHIVE_ROOT & conc_root_is_root) != 0 ? IN_ROOT : INTERNAL_EMPTY); ! DecoratorSet value = archive_root_is_root | BT_BUILDTIME_DECORATORS; return value; } } #endif // SHARE_OOPS_ACCESSDECORATORS_HPP --- 262,272 ---- // Heap array accesses imply it is a heap access DecoratorSet heap_array_is_in_heap = barrier_strength_default | ((IN_HEAP_ARRAY & barrier_strength_default) != 0 ? IN_HEAP : INTERNAL_EMPTY); DecoratorSet conc_root_is_root = heap_array_is_in_heap | ((IN_CONCURRENT_ROOT & heap_array_is_in_heap) != 0 ? IN_ROOT : INTERNAL_EMPTY); ! DecoratorSet value = conc_root_is_root | BT_BUILDTIME_DECORATORS; return value; } } #endif // SHARE_OOPS_ACCESSDECORATORS_HPP
< prev index next >