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

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

Issue 2831733004: MIPS[64]: [turbofan] Correct lazy deopt {JSCreate} operation. (Closed)
Patch Set: Created 3 years, 8 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
« no previous file with comments | « src/builtins/mips/builtins-mips.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 !is_api_function) { 620 !is_api_function) {
621 masm->isolate()->heap()->SetConstructStubCreateDeoptPCOffset( 621 masm->isolate()->heap()->SetConstructStubCreateDeoptPCOffset(
622 masm->pc_offset()); 622 masm->pc_offset());
623 623
624 // ----------- S t a t e ------------- 624 // ----------- S t a t e -------------
625 // -- a0 : newly allocated object 625 // -- a0 : newly allocated object
626 // -- sp[0] : constructor function 626 // -- sp[0] : constructor function
627 // ----------------------------------- 627 // -----------------------------------
628 628
629 __ Pop(a1); 629 __ Pop(a1);
630 __ Push(a0, a0); 630 __ Push(v0, v0);
631 631
632 // Retrieve smi-tagged arguments count from the stack. 632 // Retrieve smi-tagged arguments count from the stack.
633 __ ld(a0, MemOperand(fp, ConstructFrameConstants::kLengthOffset)); 633 __ ld(a0, MemOperand(fp, ConstructFrameConstants::kLengthOffset));
634 __ SmiUntag(a0); 634 __ SmiUntag(a0);
635 635
636 // Retrieve the new target value from the stack. This was placed into the 636 // Retrieve the new target value from the stack. This was placed into the
637 // frame description in place of the receiver by the optimizing compiler. 637 // frame description in place of the receiver by the optimizing compiler.
638 __ Daddu(a3, fp, Operand(StandardFrameConstants::kCallerSPOffset)); 638 __ Daddu(a3, fp, Operand(StandardFrameConstants::kCallerSPOffset));
639 __ Dlsa(a3, a3, a0, kPointerSizeLog2); 639 __ Dlsa(a3, a3, a0, kPointerSizeLog2);
640 __ ld(a3, MemOperand(a3)); 640 __ ld(a3, MemOperand(a3));
(...skipping 2469 matching lines...) Expand 10 before | Expand all | Expand 10 after
3110 __ Daddu(at, v0, Operand(Code::kHeaderSize - kHeapObjectTag)); 3110 __ Daddu(at, v0, Operand(Code::kHeaderSize - kHeapObjectTag));
3111 __ Jump(at); 3111 __ Jump(at);
3112 } 3112 }
3113 3113
3114 #undef __ 3114 #undef __
3115 3115
3116 } // namespace internal 3116 } // namespace internal
3117 } // namespace v8 3117 } // namespace v8
3118 3118
3119 #endif // V8_TARGET_ARCH_MIPS64 3119 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/builtins/mips/builtins-mips.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698