| Index: src/x87/builtins-x87.cc | 
| diff --git a/src/x87/builtins-x87.cc b/src/x87/builtins-x87.cc | 
| index 133b3986398578a393eb987675b9fc5980965daa..46495919c8193d08c1b847a4f0a303cc9bb640cd 100644 | 
| --- a/src/x87/builtins-x87.cc | 
| +++ b/src/x87/builtins-x87.cc | 
| @@ -2644,6 +2644,44 @@ void Builtins::Generate_Construct(MacroAssembler* masm) { | 
| RelocInfo::CODE_TARGET); | 
| } | 
|  | 
| +// static | 
| +void Builtins::Generate_AllocateInNewSpace(MacroAssembler* masm) { | 
| +  // ----------- S t a t e ------------- | 
| +  //  -- edx    : requested object size (untagged) | 
| +  //  -- esp[0] : return address | 
| +  // ----------------------------------- | 
| +  Label runtime; | 
| +  __ Allocate(edx, eax, ecx, edi, &runtime, NO_ALLOCATION_FLAGS); | 
| +  __ Ret(); | 
| + | 
| +  __ bind(&runtime); | 
| +  __ SmiTag(edx); | 
| +  __ PopReturnAddressTo(ecx); | 
| +  __ Push(edx); | 
| +  __ PushReturnAddressFrom(ecx); | 
| +  __ Move(esi, Smi::FromInt(0)); | 
| +  __ TailCallRuntime(Runtime::kAllocateInNewSpace); | 
| +} | 
| + | 
| +// static | 
| +void Builtins::Generate_AllocateInOldSpace(MacroAssembler* masm) { | 
| +  // ----------- S t a t e ------------- | 
| +  //  -- edx    : requested object size (untagged) | 
| +  //  -- esp[0] : return address | 
| +  // ----------------------------------- | 
| +  Label runtime; | 
| +  __ Allocate(edx, eax, ecx, edi, &runtime, PRETENURE); | 
| +  __ Ret(); | 
| + | 
| +  __ bind(&runtime); | 
| +  __ SmiTag(edx); | 
| +  __ PopReturnAddressTo(ecx); | 
| +  __ Push(edx); | 
| +  __ Push(Smi::FromInt(AllocateTargetSpace::encode(OLD_SPACE))); | 
| +  __ PushReturnAddressFrom(ecx); | 
| +  __ Move(esi, Smi::FromInt(0)); | 
| +  __ TailCallRuntime(Runtime::kAllocateInTargetSpace); | 
| +} | 
|  | 
| void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { | 
| // ----------- S t a t e ------------- | 
|  |