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

Side by Side Diff: src/compiler/linkage.cc

Issue 1106613003: [turbofan] Unify frame state inputs. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address comment. Created 5 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/compiler/js-typed-lowering.cc ('k') | src/compiler/operator-properties.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 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/code-stubs.h" 5 #include "src/code-stubs.h"
6 #include "src/compiler.h" 6 #include "src/compiler.h"
7 #include "src/compiler/linkage.h" 7 #include "src/compiler/linkage.h"
8 #include "src/compiler/node.h" 8 #include "src/compiler/node.h"
9 #include "src/compiler/pipeline.h" 9 #include "src/compiler/pipeline.h"
10 #include "src/scopes.h" 10 #include "src/scopes.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 int register_save_area_size = frame->GetRegisterSaveAreaSize(); 89 int register_save_area_size = frame->GetRegisterSaveAreaSize();
90 int offset = register_save_area_size - (spill_slot + 1) * kPointerSize + 90 int offset = register_save_area_size - (spill_slot + 1) * kPointerSize +
91 kPCOnStackSize + extra; 91 kPCOnStackSize + extra;
92 return FrameOffset::FromStackPointer(offset); 92 return FrameOffset::FromStackPointer(offset);
93 } 93 }
94 } 94 }
95 95
96 96
97 // static 97 // static
98 bool Linkage::NeedsFrameState(Runtime::FunctionId function) { 98 bool Linkage::NeedsFrameState(Runtime::FunctionId function) {
99 if (!FLAG_turbo_deoptimization) {
100 return false;
101 }
102
103 // Most runtime functions need a FrameState. A few chosen ones that we know 99 // Most runtime functions need a FrameState. A few chosen ones that we know
104 // not to call into arbitrary JavaScript, not to throw, and not to deoptimize 100 // not to call into arbitrary JavaScript, not to throw, and not to deoptimize
105 // are blacklisted here and can be called without a FrameState. 101 // are blacklisted here and can be called without a FrameState.
106 switch (function) { 102 switch (function) {
107 case Runtime::kDefineClassMethod: // TODO(jarin): Is it safe? 103 case Runtime::kDefineClassMethod: // TODO(jarin): Is it safe?
108 case Runtime::kDefineGetterPropertyUnchecked: // TODO(jarin): Is it safe? 104 case Runtime::kDefineGetterPropertyUnchecked: // TODO(jarin): Is it safe?
109 case Runtime::kDefineSetterPropertyUnchecked: // TODO(jarin): Is it safe? 105 case Runtime::kDefineSetterPropertyUnchecked: // TODO(jarin): Is it safe?
110 case Runtime::kForInCacheArrayLength: 106 case Runtime::kForInCacheArrayLength:
111 case Runtime::kForInInit: 107 case Runtime::kForInInit:
112 case Runtime::kForInNext: 108 case Runtime::kForInNext:
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 180
185 CallDescriptor* Linkage::GetSimplifiedCDescriptor(Zone* zone, 181 CallDescriptor* Linkage::GetSimplifiedCDescriptor(Zone* zone,
186 const MachineSignature* sig) { 182 const MachineSignature* sig) {
187 UNIMPLEMENTED(); 183 UNIMPLEMENTED();
188 return NULL; 184 return NULL;
189 } 185 }
190 #endif // !V8_TURBOFAN_BACKEND 186 #endif // !V8_TURBOFAN_BACKEND
191 } 187 }
192 } 188 }
193 } // namespace v8::internal::compiler 189 } // namespace v8::internal::compiler
OLDNEW
« no previous file with comments | « src/compiler/js-typed-lowering.cc ('k') | src/compiler/operator-properties.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698