| Index: src/builtins/arm/builtins-arm.cc | 
| diff --git a/src/builtins/arm/builtins-arm.cc b/src/builtins/arm/builtins-arm.cc | 
| index f1ef695e224801487ce8753a3e37e32ae0fdc8d9..26a1ed2ec9c506eafaf01e899367fc36a72b84fd 100644 | 
| --- a/src/builtins/arm/builtins-arm.cc | 
| +++ b/src/builtins/arm/builtins-arm.cc | 
| @@ -1206,7 +1206,8 @@ void Builtins::Generate_InterpreterPushArgsAndCallImpl( | 
| } | 
|  | 
| // static | 
| -void Builtins::Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm) { | 
| +void Builtins::Generate_InterpreterPushArgsAndConstructImpl( | 
| +    MacroAssembler* masm, CallableType construct_type) { | 
| // ----------- S t a t e ------------- | 
| // -- r0 : argument count (not including receiver) | 
| // -- r3 : new target | 
| @@ -1225,8 +1226,16 @@ void Builtins::Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm) { | 
| // Push the arguments. | 
| Generate_InterpreterPushArgs(masm, r2, r4, r5); | 
|  | 
| -  // Call the constructor with r0, r1, and r3 unmodified. | 
| -  __ Jump(masm->isolate()->builtins()->Construct(), RelocInfo::CODE_TARGET); | 
| +  if (construct_type == CallableType::kJSFunction) { | 
| +    // TODO(mythria): Change this when allocation site feedback is available. | 
| +    // ConstructFunction initializes allocation site to undefined. | 
| +    __ Jump(masm->isolate()->builtins()->ConstructFunction(), | 
| +            RelocInfo::CODE_TARGET); | 
| +  } else { | 
| +    DCHECK_EQ(construct_type, CallableType::kAny); | 
| +    // Call the constructor with r0, r1, and r3 unmodified. | 
| +    __ Jump(masm->isolate()->builtins()->Construct(), RelocInfo::CODE_TARGET); | 
| +  } | 
| } | 
|  | 
| void Builtins::Generate_InterpreterEnterBytecodeDispatch(MacroAssembler* masm) { | 
|  |