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

Side by Side Diff: src/compiler/mips/code-generator-mips.cc

Issue 1696043002: [runtime] Unify and simplify how frames are marked (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix merge problems Created 4 years, 9 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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #include "src/ast/scopes.h" 5 #include "src/ast/scopes.h"
6 #include "src/compiler/code-generator.h" 6 #include "src/compiler/code-generator.h"
7 #include "src/compiler/code-generator-impl.h" 7 #include "src/compiler/code-generator-impl.h"
8 #include "src/compiler/gap-resolver.h" 8 #include "src/compiler/gap-resolver.h"
9 #include "src/compiler/node-matchers.h" 9 #include "src/compiler/node-matchers.h"
10 #include "src/compiler/osr.h" 10 #include "src/compiler/osr.h"
(...skipping 1507 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 int deoptimization_id, Deoptimizer::BailoutType bailout_type) { 1518 int deoptimization_id, Deoptimizer::BailoutType bailout_type) {
1519 Address deopt_entry = Deoptimizer::GetDeoptimizationEntry( 1519 Address deopt_entry = Deoptimizer::GetDeoptimizationEntry(
1520 isolate(), deoptimization_id, bailout_type); 1520 isolate(), deoptimization_id, bailout_type);
1521 __ Call(deopt_entry, RelocInfo::RUNTIME_ENTRY); 1521 __ Call(deopt_entry, RelocInfo::RUNTIME_ENTRY);
1522 } 1522 }
1523 1523
1524 1524
1525 void CodeGenerator::AssemblePrologue() { 1525 void CodeGenerator::AssemblePrologue() {
1526 CallDescriptor* descriptor = linkage()->GetIncomingDescriptor(); 1526 CallDescriptor* descriptor = linkage()->GetIncomingDescriptor();
1527 int stack_shrink_slots = frame()->GetSpillSlotCount(); 1527 int stack_shrink_slots = frame()->GetSpillSlotCount();
1528 if (descriptor->IsCFunctionCall()) { 1528 if (frame()->needs_frame()) {
1529 __ Push(ra, fp); 1529 if (descriptor->IsCFunctionCall()) {
1530 __ mov(fp, sp); 1530 __ Push(ra, fp);
1531 } else if (descriptor->IsJSFunctionCall()) { 1531 __ mov(fp, sp);
1532 __ Prologue(this->info()->GeneratePreagedPrologue()); 1532 } else if (descriptor->IsJSFunctionCall()) {
1533 } else if (frame()->needs_frame()) { 1533 __ Prologue(this->info()->GeneratePreagedPrologue());
1534 __ StubPrologue(); 1534 } else {
1535 __ StubPrologue(info()->GetOutputStackFrameType());
1536 }
1535 } else { 1537 } else {
1536 frame()->SetElidedFrameSizeInSlots(0); 1538 frame()->SetElidedFrameSizeInSlots(0);
1537 } 1539 }
1538 frame_access_state()->SetFrameAccessToDefault(); 1540 frame_access_state()->SetFrameAccessToDefault();
1539 1541
1540 if (info()->is_osr()) { 1542 if (info()->is_osr()) {
1541 // TurboFan OSR-compiled functions cannot be entered directly. 1543 // TurboFan OSR-compiled functions cannot be entered directly.
1542 __ Abort(kShouldNotDirectlyEnterOsrFunction); 1544 __ Abort(kShouldNotDirectlyEnterOsrFunction);
1543 1545
1544 // Unoptimized code jumps directly to this entrypoint while the unoptimized 1546 // Unoptimized code jumps directly to this entrypoint while the unoptimized
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
1824 padding_size -= v8::internal::Assembler::kInstrSize; 1826 padding_size -= v8::internal::Assembler::kInstrSize;
1825 } 1827 }
1826 } 1828 }
1827 } 1829 }
1828 1830
1829 #undef __ 1831 #undef __
1830 1832
1831 } // namespace compiler 1833 } // namespace compiler
1832 } // namespace internal 1834 } // namespace internal
1833 } // namespace v8 1835 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698