| Index: src/heap.cc
|
| diff --git a/src/heap.cc b/src/heap.cc
|
| index 546b745ef974e151a7edb3366be337c3445c0bc4..a5f512d8bddb00b49f86621d58e15f870a1f82cc 100644
|
| --- a/src/heap.cc
|
| +++ b/src/heap.cc
|
| @@ -1849,12 +1849,6 @@ bool Heap::CreateInitialMaps() {
|
| }
|
| set_external_float_array_map(Map::cast(obj));
|
|
|
| - { MaybeObject* maybe_obj =
|
| - AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel);
|
| - if (!maybe_obj->ToObject(&obj)) return false;
|
| - }
|
| - set_non_strict_arguments_elements_map(Map::cast(obj));
|
| -
|
| { MaybeObject* maybe_obj = AllocateMap(EXTERNAL_DOUBLE_ARRAY_TYPE,
|
| ExternalArray::kAlignedSize);
|
| if (!maybe_obj->ToObject(&obj)) return false;
|
| @@ -3942,9 +3936,12 @@ MaybeObject* Heap::AllocateFunctionContext(int length, JSFunction* function) {
|
|
|
|
|
| MaybeObject* Heap::AllocateCatchContext(Context* previous,
|
| - JSObject* extension) {
|
| + String* name,
|
| + Object* thrown_object) {
|
| + STATIC_ASSERT(Context::MIN_CONTEXT_SLOTS == Context::THROWN_OBJECT_INDEX);
|
| Object* result;
|
| - { MaybeObject* maybe_result = AllocateFixedArray(Context::MIN_CONTEXT_SLOTS);
|
| + { MaybeObject* maybe_result =
|
| + AllocateFixedArray(Context::MIN_CONTEXT_SLOTS + 1);
|
| if (!maybe_result->ToObject(&result)) return maybe_result;
|
| }
|
| Context* context = reinterpret_cast<Context*>(result);
|
| @@ -3952,8 +3949,9 @@ MaybeObject* Heap::AllocateCatchContext(Context* previous,
|
| context->set_closure(previous->closure());
|
| context->set_fcontext(previous->fcontext());
|
| context->set_previous(previous);
|
| - context->set_extension(extension);
|
| + context->set_extension(name);
|
| context->set_global(previous->global());
|
| + context->set(Context::THROWN_OBJECT_INDEX, thrown_object);
|
| return context;
|
| }
|
|
|
|
|