Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(351)

Side by Side Diff: src/builtins/mips64/builtins-mips64.cc

Issue 2688393003: Fix TypeError message for Reflect.construct (Closed)
Patch Set: Fix the rest Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if V8_TARGET_ARCH_MIPS64 5 #if V8_TARGET_ARCH_MIPS64
6 6
7 #include "src/codegen.h" 7 #include "src/codegen.h"
8 #include "src/debug/debug.h" 8 #include "src/debug/debug.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 2071 matching lines...) Expand 10 before | Expand all | Expand 10 after
2082 __ And(a4, a4, Operand(1 << Map::kIsConstructor)); 2082 __ And(a4, a4, Operand(1 << Map::kIsConstructor));
2083 __ Branch(&new_target_not_constructor, eq, a4, Operand(zero_reg)); 2083 __ Branch(&new_target_not_constructor, eq, a4, Operand(zero_reg));
2084 2084
2085 // 4a. Construct the target with the given new.target and argumentsList. 2085 // 4a. Construct the target with the given new.target and argumentsList.
2086 __ Jump(masm->isolate()->builtins()->Apply(), RelocInfo::CODE_TARGET); 2086 __ Jump(masm->isolate()->builtins()->Apply(), RelocInfo::CODE_TARGET);
2087 2087
2088 // 4b. The target is not a constructor, throw an appropriate TypeError. 2088 // 4b. The target is not a constructor, throw an appropriate TypeError.
2089 __ bind(&target_not_constructor); 2089 __ bind(&target_not_constructor);
2090 { 2090 {
2091 __ sd(target, MemOperand(sp)); 2091 __ sd(target, MemOperand(sp));
2092 __ TailCallRuntime(Runtime::kThrowCalledNonCallable); 2092 __ TailCallRuntime(Runtime::kNotConstructor);
2093 } 2093 }
2094 2094
2095 // 4c. The new.target is not a constructor, throw an appropriate TypeError. 2095 // 4c. The new.target is not a constructor, throw an appropriate TypeError.
2096 __ bind(&new_target_not_constructor); 2096 __ bind(&new_target_not_constructor);
2097 { 2097 {
2098 __ sd(new_target, MemOperand(sp)); 2098 __ sd(new_target, MemOperand(sp));
2099 __ TailCallRuntime(Runtime::kThrowCalledNonCallable); 2099 __ TailCallRuntime(Runtime::kNotConstructor);
2100 } 2100 }
2101 } 2101 }
2102 2102
2103 static void EnterArgumentsAdaptorFrame(MacroAssembler* masm) { 2103 static void EnterArgumentsAdaptorFrame(MacroAssembler* masm) {
2104 // __ sll(a0, a0, kSmiTagSize); 2104 // __ sll(a0, a0, kSmiTagSize);
2105 __ dsll32(a0, a0, 0); 2105 __ dsll32(a0, a0, 0);
2106 __ li(a4, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); 2106 __ li(a4, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
2107 __ MultiPush(a0.bit() | a1.bit() | a4.bit() | fp.bit() | ra.bit()); 2107 __ MultiPush(a0.bit() | a1.bit() | a4.bit() | fp.bit() | ra.bit());
2108 __ Daddu(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp + 2108 __ Daddu(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp +
2109 kPointerSize)); 2109 kPointerSize));
(...skipping 1099 matching lines...) Expand 10 before | Expand all | Expand 10 after
3209 __ break_(0xCC); 3209 __ break_(0xCC);
3210 } 3210 }
3211 } 3211 }
3212 3212
3213 #undef __ 3213 #undef __
3214 3214
3215 } // namespace internal 3215 } // namespace internal
3216 } // namespace v8 3216 } // namespace v8
3217 3217
3218 #endif // V8_TARGET_ARCH_MIPS64 3218 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698