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

Side by Side Diff: src/compiler/linkage-impl.h

Issue 492203002: Initial support for debugger frame state in Turbofan. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Another attempt to fix Win64 Created 6 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 | Annotate | Revision Log
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 #ifndef V8_COMPILER_LINKAGE_IMPL_H_ 5 #ifndef V8_COMPILER_LINKAGE_IMPL_H_
6 #define V8_COMPILER_LINKAGE_IMPL_H_ 6 #define V8_COMPILER_LINKAGE_IMPL_H_
7 7
8 namespace v8 { 8 namespace v8 {
9 namespace internal { 9 namespace internal {
10 namespace compiler { 10 namespace compiler {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 // TODO(titzer): refactor TurboFan graph to consider context a value input. 58 // TODO(titzer): refactor TurboFan graph to consider context a value input.
59 return new (zone) 59 return new (zone)
60 CallDescriptor(CallDescriptor::kCallJSFunction, // kind 60 CallDescriptor(CallDescriptor::kCallJSFunction, // kind
61 return_count, // return_count 61 return_count, // return_count
62 parameter_count, // parameter_count 62 parameter_count, // parameter_count
63 input_count - context_count, // input_count 63 input_count - context_count, // input_count
64 locations, // locations 64 locations, // locations
65 Operator::kNoProperties, // properties 65 Operator::kNoProperties, // properties
66 kNoCalleeSaved, // callee-saved registers 66 kNoCalleeSaved, // callee-saved registers
67 CallDescriptor::kCanDeoptimize); // deoptimization 67 CallDescriptor::kLazyDeoptimization); // deoptimization
68 } 68 }
69 69
70 70
71 // TODO(turbofan): cache call descriptors for runtime calls. 71 // TODO(turbofan): cache call descriptors for runtime calls.
72 template <typename LinkageTraits> 72 template <typename LinkageTraits>
73 static CallDescriptor* GetRuntimeCallDescriptor( 73 static CallDescriptor* GetRuntimeCallDescriptor(
74 Zone* zone, Runtime::FunctionId function_id, int parameter_count, 74 Zone* zone, Runtime::FunctionId function_id, int parameter_count,
75 Operator::Property properties, 75 Operator::Property properties,
76 CallDescriptor::DeoptimizationSupport can_deoptimize) { 76 CallDescriptor::DeoptimizationSupport can_deoptimize) {
77 const int code_count = 1; 77 const int code_count = 1;
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 locations[index++] = LinkageLocation( 189 locations[index++] = LinkageLocation(
190 param_types[i], 190 param_types[i],
191 Register::ToAllocationIndex(LinkageTraits::CRegisterParameter(i))); 191 Register::ToAllocationIndex(LinkageTraits::CRegisterParameter(i)));
192 } 192 }
193 for (; i < num_params; i++) { 193 for (; i < num_params; i++) {
194 locations[index++] = LinkageLocation(param_types[i], -1 - i); 194 locations[index++] = LinkageLocation(param_types[i], -1 - i);
195 } 195 }
196 return new (zone) CallDescriptor( 196 return new (zone) CallDescriptor(
197 CallDescriptor::kCallAddress, 1, num_params, num_params + 1, locations, 197 CallDescriptor::kCallAddress, 1, num_params, num_params + 1, locations,
198 Operator::kNoProperties, LinkageTraits::CCalleeSaveRegisters(), 198 Operator::kNoProperties, LinkageTraits::CCalleeSaveRegisters(),
199 CallDescriptor::kCannotDeoptimize); // TODO(jarin) should deoptimize! 199 CallDescriptor::kNoDeoptimization); // TODO(jarin) should deoptimize!
200 } 200 }
201 }; 201 };
202 } 202 }
203 } 203 }
204 } // namespace v8::internal::compiler 204 } // namespace v8::internal::compiler
205 205
206 #endif // V8_COMPILER_LINKAGE_IMPL_H_ 206 #endif // V8_COMPILER_LINKAGE_IMPL_H_
OLDNEW
« no previous file with comments | « src/compiler/linkage.cc ('k') | src/compiler/node.h » ('j') | src/compiler/node.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698