diff options
Diffstat (limited to 'src/3rdparty/v8/test/cctest/test-alloc.cc')
-rw-r--r-- | src/3rdparty/v8/test/cctest/test-alloc.cc | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/3rdparty/v8/test/cctest/test-alloc.cc b/src/3rdparty/v8/test/cctest/test-alloc.cc index e195d14..7ba2583 100644 --- a/src/3rdparty/v8/test/cctest/test-alloc.cc +++ b/src/3rdparty/v8/test/cctest/test-alloc.cc @@ -1,4 +1,4 @@ -// Copyright 2011 the V8 project authors. All rights reserved. +// Copyright 2012 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -34,7 +34,8 @@ using namespace v8::internal; -static inline void SimulateFullSpace(PagedSpace* space) { +// Also used in test-heap.cc test cases. +void SimulateFullSpace(PagedSpace* space) { int old_linear_size = static_cast<int>(space->limit() - space->top()); space->Free(space->top(), old_linear_size); space->SetTop(space->limit(), space->limit()); @@ -150,12 +151,21 @@ TEST(StressJS) { Handle<Map> map(function->initial_map()); Handle<DescriptorArray> instance_descriptors(map->instance_descriptors()); Handle<Foreign> foreign = FACTORY->NewForeign(&kDescriptor); - instance_descriptors = FACTORY->CopyAppendForeignDescriptor( - instance_descriptors, - FACTORY->NewStringFromAscii(Vector<const char>("get", 3)), - foreign, - static_cast<PropertyAttributes>(0)); - map->set_instance_descriptors(*instance_descriptors); + Handle<String> name = + FACTORY->NewStringFromAscii(Vector<const char>("get", 3)); + ASSERT(instance_descriptors->IsEmpty()); + + Handle<DescriptorArray> new_descriptors = FACTORY->NewDescriptorArray(0, 1); + + v8::internal::DescriptorArray::WhitenessWitness witness(*new_descriptors); + map->set_instance_descriptors(*new_descriptors); + + CallbacksDescriptor d(*name, + *foreign, + static_cast<PropertyAttributes>(0), + v8::internal::PropertyDetails::kInitialIndex); + map->AppendDescriptor(&d, witness); + // Add the Foo constructor the global object. env->Global()->Set(v8::String::New("Foo"), v8::Utils::ToLocal(function)); // Call the accessor through JavaScript. |