Very experimental fix for issue 555.
Review URL: http://codereview.chromium.org/508006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
14975f3dd0
commit
8d6a8e2451
@ -6738,8 +6738,11 @@ void FastNewContextStub::Generate(MacroAssembler* masm) {
|
||||
__ mov(Operand(eax, Context::SlotOffset(Context::PREVIOUS_INDEX)), ebx);
|
||||
__ mov(Operand(eax, Context::SlotOffset(Context::EXTENSION_INDEX)), ebx);
|
||||
|
||||
// Copy the global object from the surrounding context.
|
||||
__ mov(ebx, Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
||||
// Copy the global object from the surrounding context. We go through the
|
||||
// context in the function (ecx) to match the allocation behavior we have
|
||||
// in the runtime system (see Heap::AllocateFunctionContext).
|
||||
__ mov(ebx, FieldOperand(ecx, JSFunction::kContextOffset));
|
||||
__ mov(ebx, Operand(ebx, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
||||
__ mov(Operand(eax, Context::SlotOffset(Context::GLOBAL_INDEX)), ebx);
|
||||
|
||||
// Initialize the rest of the slots to undefined.
|
||||
|
Loading…
Reference in New Issue
Block a user