< prev index next >
src/hotspot/share/oops/access.inline.hpp
Print this page
rev 48471 : [mq]: RFE_Access_constantPoolCache_new_decorator
*** 765,775 ****
// 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;
};
// Step 2: Reduce types.
// Enforce that for non-oop types, T and P have to be strictly the same.
// P is the type of the address and T is the type of the values.
--- 765,777 ----
// 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;
};
// Step 2: Reduce types.
// Enforce that for non-oop types, T and P have to be strictly the same.
// P is the type of the address and T is the type of the values.
*** 1035,1044 ****
const DecoratorSet location_decorators = decorators & IN_DECORATOR_MASK;
STATIC_ASSERT(location_decorators == 0 || ( // make sure location decorators are disjoint if set
(location_decorators ^ IN_ROOT) == 0 ||
(location_decorators ^ IN_HEAP) == 0 ||
(location_decorators ^ (IN_HEAP | IN_HEAP_ARRAY)) == 0 ||
! (location_decorators ^ (IN_ROOT | IN_CONCURRENT_ROOT)) == 0
));
}
#endif // SHARE_VM_RUNTIME_ACCESS_INLINE_HPP
--- 1037,1047 ----
const DecoratorSet location_decorators = decorators & IN_DECORATOR_MASK;
STATIC_ASSERT(location_decorators == 0 || ( // make sure location decorators are disjoint if set
(location_decorators ^ IN_ROOT) == 0 ||
(location_decorators ^ IN_HEAP) == 0 ||
(location_decorators ^ (IN_HEAP | IN_HEAP_ARRAY)) == 0 ||
! (location_decorators ^ (IN_ROOT | IN_CONCURRENT_ROOT)) == 0 ||
! (location_decorators ^ (IN_ROOT | IN_ARCHIVE_ROOT)) == 0
));
}
#endif // SHARE_VM_RUNTIME_ACCESS_INLINE_HPP
< prev index next >