Version 3.4.8

Ensure 16-byte stack alignment on Solaris (issue 1505).

Fix "illegal access" when calling parseInt with a radix that is not a smi. (issue 1246).


git-svn-id: http://v8.googlecode.com/svn/trunk@8466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/heap.cc b/src/heap.cc
index 0ce5e34..6bb0206 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -3932,7 +3932,6 @@
   Context* context = reinterpret_cast<Context*>(result);
   context->set_map(function_context_map());
   context->set_closure(function);
-  context->set_fcontext(context);
   context->set_previous(function->context());
   context->set_extension(NULL);
   context->set_global(function->context()->global());
@@ -3940,7 +3939,8 @@
 }
 
 
-MaybeObject* Heap::AllocateCatchContext(Context* previous,
+MaybeObject* Heap::AllocateCatchContext(JSFunction* function,
+                                        Context* previous,
                                         String* name,
                                         Object* thrown_object) {
   STATIC_ASSERT(Context::MIN_CONTEXT_SLOTS == Context::THROWN_OBJECT_INDEX);
@@ -3951,8 +3951,7 @@
   }
   Context* context = reinterpret_cast<Context*>(result);
   context->set_map(catch_context_map());
-  context->set_closure(previous->closure());
-  context->set_fcontext(previous->fcontext());
+  context->set_closure(function);
   context->set_previous(previous);
   context->set_extension(name);
   context->set_global(previous->global());
@@ -3961,7 +3960,8 @@
 }
 
 
-MaybeObject* Heap::AllocateWithContext(Context* previous,
+MaybeObject* Heap::AllocateWithContext(JSFunction* function,
+                                       Context* previous,
                                        JSObject* extension) {
   Object* result;
   { MaybeObject* maybe_result = AllocateFixedArray(Context::MIN_CONTEXT_SLOTS);
@@ -3969,8 +3969,7 @@
   }
   Context* context = reinterpret_cast<Context*>(result);
   context->set_map(with_context_map());
-  context->set_closure(previous->closure());
-  context->set_fcontext(previous->fcontext());
+  context->set_closure(function);
   context->set_previous(previous);
   context->set_extension(extension);
   context->set_global(previous->global());