< prev index next >

src/hotspot/share/oops/accessDecorators.hpp

Print this page
rev 50535 : [mq]: rename_IN_ROOT

*** 182,201 **** // The location is important to the GC as it may imply different actions. The following decorators are used: // * IN_HEAP: The access is performed in the heap. Many barriers such as card marking will // be omitted if this decorator is not set. // * IN_HEAP_ARRAY: The access is performed on a heap allocated array. This is sometimes a special case // for some GCs, and implies that it is an IN_HEAP. ! // * IN_ROOT: The access is performed in an off-heap data structure pointing into the Java heap. // * IN_CONCURRENT_ROOT: The access is performed in an off-heap data structure pointing into the Java heap, // but is notably not scanned during safepoints. This is sometimes a special case for some GCs and ! // 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; --- 182,201 ---- // The location is important to the GC as it may imply different actions. The following decorators are used: // * IN_HEAP: The access is performed in the heap. Many barriers such as card marking will // be omitted if this decorator is not set. // * IN_HEAP_ARRAY: The access is performed on a heap allocated array. This is sometimes a special case // for some GCs, and implies that it is an IN_HEAP. ! // * IN_NATIVE: The access is performed in an off-heap data structure pointing into the Java heap. // * IN_CONCURRENT_ROOT: The access is performed in an off-heap data structure pointing into the Java heap, // but is notably not scanned during safepoints. This is sometimes a special case for some GCs and ! // implies that it is also an IN_NATIVE. const DecoratorSet IN_HEAP = UCONST64(1) << 20; const DecoratorSet IN_HEAP_ARRAY = UCONST64(1) << 21; ! const DecoratorSet IN_NATIVE = UCONST64(1) << 22; const DecoratorSet IN_CONCURRENT_ROOT = UCONST64(1) << 23; const DecoratorSet IN_DECORATOR_MASK = IN_HEAP | IN_HEAP_ARRAY | ! IN_NATIVE | 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;
*** 240,250 **** ((AS_DECORATOR_MASK & memory_ordering_default) == 0 ? AS_NORMAL : INTERNAL_EMPTY); // 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. --- 240,250 ---- ((AS_DECORATOR_MASK & memory_ordering_default) == 0 ? AS_NORMAL : INTERNAL_EMPTY); // 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_NATIVE : 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.
*** 261,271 **** ((AS_DECORATOR_MASK & memory_ordering_default) == 0 ? AS_NORMAL : INTERNAL_EMPTY); // 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; } } --- 261,271 ---- ((AS_DECORATOR_MASK & memory_ordering_default) == 0 ? AS_NORMAL : INTERNAL_EMPTY); // 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_NATIVE : INTERNAL_EMPTY); DecoratorSet value = conc_root_is_root | BT_BUILDTIME_DECORATORS; return value; } }
< prev index next >