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; |
} |