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

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

Issue 1259203002: [turbofan] Implement tail calls with differing stack parameter counts (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix bugs in frameless tail calls Created 5 years, 4 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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/compiler/code-generator.h" 5 #include "src/compiler/code-generator.h"
6 6
7 #include "src/compiler/code-generator-impl.h" 7 #include "src/compiler/code-generator-impl.h"
8 #include "src/compiler/linkage.h" 8 #include "src/compiler/linkage.h"
9 #include "src/compiler/pipeline.h" 9 #include "src/compiler/pipeline.h"
10 #include "src/snapshot/serialize.h" // TODO(turbofan): RootIndexMap 10 #include "src/snapshot/serialize.h" // TODO(turbofan): RootIndexMap
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 resolver_(this), 44 resolver_(this),
45 safepoints_(code->zone()), 45 safepoints_(code->zone()),
46 handlers_(code->zone()), 46 handlers_(code->zone()),
47 deoptimization_states_(code->zone()), 47 deoptimization_states_(code->zone()),
48 deoptimization_literals_(code->zone()), 48 deoptimization_literals_(code->zone()),
49 inlined_function_count_(0), 49 inlined_function_count_(0),
50 translations_(code->zone()), 50 translations_(code->zone()),
51 last_lazy_deopt_pc_(0), 51 last_lazy_deopt_pc_(0),
52 jump_tables_(nullptr), 52 jump_tables_(nullptr),
53 ools_(nullptr), 53 ools_(nullptr),
54 osr_pc_offset_(-1), 54 osr_pc_offset_(-1) {
55 needs_frame_(frame->GetSpillSlotCount() > 0 || code->ContainsCall()) {
56 for (int i = 0; i < code->InstructionBlockCount(); ++i) { 55 for (int i = 0; i < code->InstructionBlockCount(); ++i) {
57 new (&labels_[i]) Label; 56 new (&labels_[i]) Label;
58 } 57 }
59 } 58 }
60 59
61 60
62 Handle<Code> CodeGenerator::GenerateCode() { 61 Handle<Code> CodeGenerator::GenerateCode() {
63 CompilationInfo* info = this->info(); 62 CompilationInfo* info = this->info();
64 63
65 // Open a frame scope to indicate that there is a frame on the stack. The 64 // Open a frame scope to indicate that there is a frame on the stack. The
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 : masm_(gen->masm()), next_(gen->ools_) { 714 : masm_(gen->masm()), next_(gen->ools_) {
716 gen->ools_ = this; 715 gen->ools_ = this;
717 } 716 }
718 717
719 718
720 OutOfLineCode::~OutOfLineCode() {} 719 OutOfLineCode::~OutOfLineCode() {}
721 720
722 } // namespace compiler 721 } // namespace compiler
723 } // namespace internal 722 } // namespace internal
724 } // namespace v8 723 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698