OLD | NEW |
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/compiler/linkage.h" | 5 #include "src/compiler/linkage.h" |
6 | 6 |
7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/compiler.h" | 8 #include "src/compiler.h" |
9 #include "src/compiler/node.h" | 9 #include "src/compiler/node.h" |
10 #include "src/compiler/pipeline.h" | 10 #include "src/compiler/pipeline.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 | 102 |
103 | 103 |
104 CallDescriptor* Linkage::GetStubCallDescriptor( | 104 CallDescriptor* Linkage::GetStubCallDescriptor( |
105 CodeStubInterfaceDescriptor* descriptor, int stack_parameter_count, | 105 CodeStubInterfaceDescriptor* descriptor, int stack_parameter_count, |
106 CallDescriptor::Flags flags) { | 106 CallDescriptor::Flags flags) { |
107 return GetStubCallDescriptor(descriptor, stack_parameter_count, flags, | 107 return GetStubCallDescriptor(descriptor, stack_parameter_count, flags, |
108 this->info_->zone()); | 108 this->info_->zone()); |
109 } | 109 } |
110 | 110 |
111 | 111 |
| 112 // static |
| 113 bool Linkage::NeedsFrameState(Runtime::FunctionId function) { |
| 114 if (!FLAG_turbo_deoptimization) { |
| 115 return false; |
| 116 } |
| 117 // TODO(jarin) At the moment, we only add frame state for |
| 118 // few chosen runtime functions. |
| 119 switch (function) { |
| 120 case Runtime::kDebugBreak: |
| 121 case Runtime::kDeoptimizeFunction: |
| 122 case Runtime::kSetScriptBreakPoint: |
| 123 case Runtime::kDebugGetLoadedScripts: |
| 124 case Runtime::kStackGuard: |
| 125 return true; |
| 126 default: |
| 127 return false; |
| 128 } |
| 129 } |
| 130 |
| 131 |
112 //============================================================================== | 132 //============================================================================== |
113 // Provide unimplemented methods on unsupported architectures, to at least link. | 133 // Provide unimplemented methods on unsupported architectures, to at least link. |
114 //============================================================================== | 134 //============================================================================== |
115 #if !V8_TURBOFAN_BACKEND | 135 #if !V8_TURBOFAN_BACKEND |
116 CallDescriptor* Linkage::GetJSCallDescriptor(int parameter_count, Zone* zone) { | 136 CallDescriptor* Linkage::GetJSCallDescriptor(int parameter_count, Zone* zone) { |
117 UNIMPLEMENTED(); | 137 UNIMPLEMENTED(); |
118 return NULL; | 138 return NULL; |
119 } | 139 } |
120 | 140 |
121 | 141 |
(...skipping 17 matching lines...) Expand all Loading... |
139 CallDescriptor* Linkage::GetSimplifiedCDescriptor( | 159 CallDescriptor* Linkage::GetSimplifiedCDescriptor( |
140 Zone* zone, int num_params, MachineType return_type, | 160 Zone* zone, int num_params, MachineType return_type, |
141 const MachineType* param_types) { | 161 const MachineType* param_types) { |
142 UNIMPLEMENTED(); | 162 UNIMPLEMENTED(); |
143 return NULL; | 163 return NULL; |
144 } | 164 } |
145 #endif // !V8_TURBOFAN_BACKEND | 165 #endif // !V8_TURBOFAN_BACKEND |
146 } | 166 } |
147 } | 167 } |
148 } // namespace v8::internal::compiler | 168 } // namespace v8::internal::compiler |
OLD | NEW |