8297020: Rename GrowableArray::on_stack
Reviewed-by: stuefe, coleenp
This commit is contained in:
parent
5f51dff697
commit
196d0210df
src/hotspot/share/utilities
test/hotspot/gtest/utilities
@ -57,11 +57,11 @@ void GrowableArrayCHeapAllocator::deallocate(void* elements) {
|
||||
|
||||
#ifdef ASSERT
|
||||
|
||||
GrowableArrayNestingCheck::GrowableArrayNestingCheck(bool on_stack) :
|
||||
_nesting(on_stack ? Thread::current()->resource_area()->nesting() : 0) {
|
||||
GrowableArrayNestingCheck::GrowableArrayNestingCheck(bool on_resource_area) :
|
||||
_nesting(on_resource_area ? Thread::current()->resource_area()->nesting() : 0) {
|
||||
}
|
||||
|
||||
void GrowableArrayNestingCheck::on_stack_alloc() const {
|
||||
void GrowableArrayNestingCheck::on_resource_area_alloc() const {
|
||||
// Check for insidious allocation bug: if a GrowableArray overflows, the
|
||||
// grown array must be allocated under the same ResourceMark as the original.
|
||||
// Otherwise, the _data array will be deallocated too early.
|
||||
@ -79,14 +79,14 @@ void GrowableArrayMetadata::init_checks(const GrowableArrayBase* array) const {
|
||||
// Otherwise there's a strict one-to-one mapping
|
||||
assert(on_C_heap() == array->allocated_on_C_heap(),
|
||||
"growable array must be C heap allocated if elements are");
|
||||
assert(on_stack() == array->allocated_on_res_area(),
|
||||
assert(on_resource_area() == array->allocated_on_res_area(),
|
||||
"growable array must be resource allocated if elements are");
|
||||
assert(on_arena() == array->allocated_on_arena(),
|
||||
"growable array must be arena allocated if elements are");
|
||||
}
|
||||
|
||||
void GrowableArrayMetadata::on_stack_alloc_check() const {
|
||||
_nesting_check.on_stack_alloc();
|
||||
void GrowableArrayMetadata::on_resource_area_alloc_check() const {
|
||||
_nesting_check.on_resource_area_alloc();
|
||||
}
|
||||
|
||||
#endif // ASSERT
|
||||
|
@ -584,9 +584,9 @@ class GrowableArrayNestingCheck {
|
||||
int _nesting;
|
||||
|
||||
public:
|
||||
GrowableArrayNestingCheck(bool on_stack);
|
||||
GrowableArrayNestingCheck(bool on_resource_area);
|
||||
|
||||
void on_stack_alloc() const;
|
||||
void on_resource_area_alloc() const;
|
||||
};
|
||||
|
||||
#endif // ASSERT
|
||||
@ -652,12 +652,12 @@ public:
|
||||
}
|
||||
|
||||
void init_checks(const GrowableArrayBase* array) const;
|
||||
void on_stack_alloc_check() const;
|
||||
void on_resource_area_alloc_check() const;
|
||||
#endif // ASSERT
|
||||
|
||||
bool on_C_heap() const { return (_bits & 1) == 1; }
|
||||
bool on_stack () const { return _bits == 0; }
|
||||
bool on_arena () const { return (_bits & 1) == 0 && _bits != 0; }
|
||||
bool on_C_heap() const { return (_bits & 1) == 1; }
|
||||
bool on_resource_area() const { return _bits == 0; }
|
||||
bool on_arena() const { return (_bits & 1) == 0 && _bits != 0; }
|
||||
|
||||
Arena* arena() const { return (Arena*)_bits; }
|
||||
MEMFLAGS memflags() const { return MEMFLAGS(_bits >> 1); }
|
||||
@ -702,13 +702,13 @@ class GrowableArray : public GrowableArrayWithAllocator<E, GrowableArray<E> > {
|
||||
void init_checks() const { debug_only(_metadata.init_checks(this);) }
|
||||
|
||||
// Where are we going to allocate memory?
|
||||
bool on_C_heap() const { return _metadata.on_C_heap(); }
|
||||
bool on_stack () const { return _metadata.on_stack(); }
|
||||
bool on_arena () const { return _metadata.on_arena(); }
|
||||
bool on_C_heap() const { return _metadata.on_C_heap(); }
|
||||
bool on_resource_area() const { return _metadata.on_resource_area(); }
|
||||
bool on_arena() const { return _metadata.on_arena(); }
|
||||
|
||||
E* allocate() {
|
||||
if (on_stack()) {
|
||||
debug_only(_metadata.on_stack_alloc_check());
|
||||
if (on_resource_area()) {
|
||||
debug_only(_metadata.on_resource_area_alloc_check());
|
||||
return allocate(this->_capacity);
|
||||
}
|
||||
|
||||
|
@ -50,8 +50,8 @@ protected:
|
||||
return array->on_C_heap();
|
||||
}
|
||||
template <typename E>
|
||||
static bool elements_on_stack(const GrowableArray<E>* array) {
|
||||
return array->on_stack();
|
||||
static bool elements_on_resource_area(const GrowableArray<E>* array) {
|
||||
return array->on_resource_area();
|
||||
}
|
||||
template <typename E>
|
||||
static bool elements_on_arena(const GrowableArray<E>* array) {
|
||||
@ -471,7 +471,7 @@ TEST_VM_F(GrowableArrayTest, where) {
|
||||
ResourceMark rm;
|
||||
GrowableArray<int>* a = new GrowableArray<int>();
|
||||
ASSERT_TRUE(a->allocated_on_res_area());
|
||||
ASSERT_TRUE(elements_on_stack(a));
|
||||
ASSERT_TRUE(elements_on_resource_area(a));
|
||||
}
|
||||
|
||||
// Resource/CHeap allocated
|
||||
@ -499,7 +499,7 @@ TEST_VM_F(GrowableArrayTest, where) {
|
||||
ResourceMark rm;
|
||||
GrowableArray<int> a(0);
|
||||
ASSERT_TRUE(a.allocated_on_stack_or_embedded());
|
||||
ASSERT_TRUE(elements_on_stack(&a));
|
||||
ASSERT_TRUE(elements_on_resource_area(&a));
|
||||
}
|
||||
|
||||
// Stack/CHeap allocated
|
||||
@ -522,7 +522,7 @@ TEST_VM_F(GrowableArrayTest, where) {
|
||||
ResourceMark rm;
|
||||
WithEmbeddedArray w(0);
|
||||
ASSERT_TRUE(w._a.allocated_on_stack_or_embedded());
|
||||
ASSERT_TRUE(elements_on_stack(&w._a));
|
||||
ASSERT_TRUE(elements_on_resource_area(&w._a));
|
||||
}
|
||||
|
||||
// Embedded/CHeap allocated
|
||||
|
Loading…
x
Reference in New Issue
Block a user