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

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

Issue 2423323002: [builtins] Remove the unused AllocationSite slot from ConstructFrame. (Closed)
Patch Set: Created 4 years, 2 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/ia32/builtins-ia32.cc ('k') | 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 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 Label ok; 541 Label ok;
542 __ LoadRoot(t0, Heap::kStackLimitRootIndex); 542 __ LoadRoot(t0, Heap::kStackLimitRootIndex);
543 __ Branch(&ok, hs, sp, Operand(t0)); 543 __ Branch(&ok, hs, sp, Operand(t0));
544 544
545 GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode); 545 GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
546 546
547 __ bind(&ok); 547 __ bind(&ok);
548 GenerateTailCallToSharedCode(masm); 548 GenerateTailCallToSharedCode(masm);
549 } 549 }
550 550
551 static void Generate_JSConstructStubHelper(MacroAssembler* masm, 551 namespace {
552 bool is_api_function, 552
553 bool create_implicit_receiver, 553 void Generate_JSConstructStubHelper(MacroAssembler* masm, bool is_api_function,
554 bool check_derived_construct) { 554 bool create_implicit_receiver,
555 bool check_derived_construct) {
555 // ----------- S t a t e ------------- 556 // ----------- S t a t e -------------
556 // -- a0 : number of arguments 557 // -- a0 : number of arguments
557 // -- a1 : constructor function 558 // -- a1 : constructor function
558 // -- a2 : allocation site or undefined
559 // -- a3 : new target 559 // -- a3 : new target
560 // -- cp : context 560 // -- cp : context
561 // -- ra : return address 561 // -- ra : return address
562 // -- sp[...]: constructor arguments 562 // -- sp[...]: constructor arguments
563 // ----------------------------------- 563 // -----------------------------------
564 564
565 Isolate* isolate = masm->isolate(); 565 Isolate* isolate = masm->isolate();
566 566
567 // Enter a construct frame. 567 // Enter a construct frame.
568 { 568 {
569 FrameScope scope(masm, StackFrame::CONSTRUCT); 569 FrameScope scope(masm, StackFrame::CONSTRUCT);
570 570
571 // Preserve the incoming parameters on the stack. 571 // Preserve the incoming parameters on the stack.
572 __ AssertUndefinedOrAllocationSite(a2, t0);
573 __ SmiTag(a0); 572 __ SmiTag(a0);
574 __ Push(cp, a2, a0); 573 __ Push(cp, a0);
575 574
576 if (create_implicit_receiver) { 575 if (create_implicit_receiver) {
577 // Allocate the new receiver object. 576 // Allocate the new receiver object.
578 __ Push(a1, a3); 577 __ Push(a1, a3);
579 FastNewObjectStub stub(masm->isolate()); 578 FastNewObjectStub stub(masm->isolate());
580 __ CallStub(&stub); 579 __ CallStub(&stub);
581 __ mov(t4, v0); 580 __ mov(t4, v0);
582 __ Pop(a1, a3); 581 __ Pop(a1, a3);
583 582
584 // ----------- S t a t e ------------- 583 // ----------- S t a t e -------------
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 } 690 }
692 691
693 __ Lsa(sp, sp, a1, kPointerSizeLog2 - 1); 692 __ Lsa(sp, sp, a1, kPointerSizeLog2 - 1);
694 __ Addu(sp, sp, kPointerSize); 693 __ Addu(sp, sp, kPointerSize);
695 if (create_implicit_receiver) { 694 if (create_implicit_receiver) {
696 __ IncrementCounter(isolate->counters()->constructed_objects(), 1, a1, a2); 695 __ IncrementCounter(isolate->counters()->constructed_objects(), 1, a1, a2);
697 } 696 }
698 __ Ret(); 697 __ Ret();
699 } 698 }
700 699
700 } // namespace
701
701 void Builtins::Generate_JSConstructStubGeneric(MacroAssembler* masm) { 702 void Builtins::Generate_JSConstructStubGeneric(MacroAssembler* masm) {
702 Generate_JSConstructStubHelper(masm, false, true, false); 703 Generate_JSConstructStubHelper(masm, false, true, false);
703 } 704 }
704 705
705 void Builtins::Generate_JSConstructStubApi(MacroAssembler* masm) { 706 void Builtins::Generate_JSConstructStubApi(MacroAssembler* masm) {
706 Generate_JSConstructStubHelper(masm, true, false, false); 707 Generate_JSConstructStubHelper(masm, true, false, false);
707 } 708 }
708 709
709 void Builtins::Generate_JSBuiltinsConstructStub(MacroAssembler* masm) { 710 void Builtins::Generate_JSBuiltinsConstructStub(MacroAssembler* masm) {
710 Generate_JSConstructStubHelper(masm, false, false, false); 711 Generate_JSConstructStubHelper(masm, false, false, false);
(...skipping 2270 matching lines...) Expand 10 before | Expand all | Expand 10 after
2981 __ break_(0xCC); 2982 __ break_(0xCC);
2982 } 2983 }
2983 } 2984 }
2984 2985
2985 #undef __ 2986 #undef __
2986 2987
2987 } // namespace internal 2988 } // namespace internal
2988 } // namespace v8 2989 } // namespace v8
2989 2990
2990 #endif // V8_TARGET_ARCH_MIPS 2991 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/builtins/ia32/builtins-ia32.cc ('k') | src/builtins/mips64/builtins-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698