Index: src/ppc/builtins-ppc.cc |
diff --git a/src/ppc/builtins-ppc.cc b/src/ppc/builtins-ppc.cc |
index 7942a54e21742f63590db8d8eed795efb7849cac..86f3c4a5902c41d45957e0bc6eb1efbbd3229242 100644 |
--- a/src/ppc/builtins-ppc.cc |
+++ b/src/ppc/builtins-ppc.cc |
@@ -638,6 +638,13 @@ void Builtins::Generate_JSBuiltinsConstructStub(MacroAssembler* masm) { |
} |
+void Builtins::Generate_ConstructedNonConstructable(MacroAssembler* masm) { |
+ FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); |
+ __ push(r4); |
+ __ CallRuntime(Runtime::kThrowConstructedNonConstructable, 1); |
+} |
+ |
+ |
enum IsTagged { kArgcIsSmiTagged, kArgcIsUntaggedInt }; |
@@ -1697,7 +1704,8 @@ void Builtins::Generate_CallFunction(MacroAssembler* masm, |
__ bind(&class_constructor); |
{ |
FrameAndConstantPoolScope frame(masm, StackFrame::INTERNAL); |
- __ CallRuntime(Runtime::kThrowConstructorNonCallableError, 0); |
+ __ push(r4); |
+ __ CallRuntime(Runtime::kThrowConstructorNonCallableError, 1); |
} |
} |
@@ -1828,11 +1836,8 @@ void Builtins::Generate_Construct(MacroAssembler* masm) { |
// Called Construct on an Object that doesn't have a [[Construct]] internal |
// method. |
__ bind(&non_constructor); |
- { |
- FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); |
- __ Push(r4); |
- __ CallRuntime(Runtime::kThrowCalledNonCallable, 1); |
- } |
+ __ Jump(masm->isolate()->builtins()->ConstructedNonConstructable(), |
+ RelocInfo::CODE_TARGET); |
} |