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

Side by Side Diff: src/builtins/mips/builtins-mips.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 | « no previous file | src/builtins/mips64/builtins-mips64.cc » ('j') | 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_MIPS 5 #if V8_TARGET_ARCH_MIPS
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 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 !is_api_function) { 622 !is_api_function) {
623 masm->isolate()->heap()->SetConstructStubCreateDeoptPCOffset( 623 masm->isolate()->heap()->SetConstructStubCreateDeoptPCOffset(
624 masm->pc_offset()); 624 masm->pc_offset());
625 625
626 // ----------- S t a t e ------------- 626 // ----------- S t a t e -------------
627 // -- a0 : newly allocated object 627 // -- a0 : newly allocated object
628 // -- sp[0] : constructor function 628 // -- sp[0] : constructor function
629 // ----------------------------------- 629 // -----------------------------------
630 630
631 __ Pop(a1); 631 __ Pop(a1);
632 __ Push(a0, a0); 632 __ Push(v0, v0);
633 633
634 // Retrieve smi-tagged arguments count from the stack. 634 // Retrieve smi-tagged arguments count from the stack.
635 __ lw(a0, MemOperand(fp, ConstructFrameConstants::kLengthOffset)); 635 __ lw(a0, MemOperand(fp, ConstructFrameConstants::kLengthOffset));
636 __ SmiUntag(a0); 636 __ SmiUntag(a0);
637 637
638 // Retrieve the new target value from the stack. This was placed into the 638 // Retrieve the new target value from the stack. This was placed into the
639 // frame description in place of the receiver by the optimizing compiler. 639 // frame description in place of the receiver by the optimizing compiler.
640 __ Addu(a3, fp, Operand(StandardFrameConstants::kCallerSPOffset)); 640 __ Addu(a3, fp, Operand(StandardFrameConstants::kCallerSPOffset));
641 __ Lsa(a3, a3, a0, kPointerSizeLog2); 641 __ Lsa(a3, a3, a0, kPointerSizeLog2);
642 __ lw(a3, MemOperand(a3)); 642 __ lw(a3, MemOperand(a3));
(...skipping 2441 matching lines...) Expand 10 before | Expand all | Expand 10 after
3084 __ Addu(at, v0, Operand(Code::kHeaderSize - kHeapObjectTag)); 3084 __ Addu(at, v0, Operand(Code::kHeaderSize - kHeapObjectTag));
3085 __ Jump(at); 3085 __ Jump(at);
3086 } 3086 }
3087 3087
3088 #undef __ 3088 #undef __
3089 3089
3090 } // namespace internal 3090 } // namespace internal
3091 } // namespace v8 3091 } // namespace v8
3092 3092
3093 #endif // V8_TARGET_ARCH_MIPS 3093 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « no previous file | src/builtins/mips64/builtins-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698