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

Unified Diff: src/compiler/instruction-selector-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: Relax a CHECK to DCHECK 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 side-by-side diff with in-line comments
Download patch
Index: src/compiler/instruction-selector-impl.h
diff --git a/src/compiler/instruction-selector-impl.h b/src/compiler/instruction-selector-impl.h
index 6421b23c739d46598c8085892546d64e37a532c8..e730866982c671c73b2175ff00a3bc2f3febdf93 100644
--- a/src/compiler/instruction-selector-impl.h
+++ b/src/compiler/instruction-selector-impl.h
@@ -346,22 +346,27 @@ class FlagsContinuation V8_FINAL {
// TODO(bmeurer): Get rid of the CallBuffer business and make
// InstructionSelector::VisitCall platform independent instead.
struct CallBuffer {
- CallBuffer(Zone* zone, CallDescriptor* descriptor);
+ CallBuffer(Zone* zone, CallDescriptor* descriptor,
+ FrameStateDescriptor* frame_state);
- int output_count;
CallDescriptor* descriptor;
- Node** output_nodes;
- InstructionOperand** outputs;
- InstructionOperand** fixed_and_control_args;
- int fixed_count;
- Node** pushed_nodes;
- int pushed_count;
+ FrameStateDescriptor* frame_state_descriptor;
+ std::vector<Node*> output_nodes;
Benedikt Meurer 2014/08/21 08:19:29 Can we allocate in the Zone instead? I.e. use zone
Jarin 2014/08/21 09:54:42 Done.
+ std::vector<InstructionOperand*> outputs;
+ std::vector<InstructionOperand*> instruction_args;
+ std::vector<Node*> pushed_nodes;
int input_count() { return descriptor->InputCount(); }
Benedikt Meurer 2014/08/21 08:19:29 const
Jarin 2014/08/21 09:54:41 Done.
- int control_count() { return descriptor->CanLazilyDeoptimize() ? 2 : 0; }
+ int frame_state_count() { return descriptor->FrameStateCount(); }
Benedikt Meurer 2014/08/21 08:19:29 const
Jarin 2014/08/21 09:54:42 Done.
+
+ int frame_state_value_count() {
Benedikt Meurer 2014/08/21 08:19:29 const
Jarin 2014/08/21 09:54:41 Done.
+ return (frame_state_descriptor == NULL)
+ ? 0
+ : (frame_state_descriptor->size() + 1);
+ }
- int fixed_and_control_count() { return fixed_count + control_count(); }
+ int control_count() { return descriptor->CanLazilyDeoptimize() ? 2 : 0; }
};
} // namespace compiler

Powered by Google App Engine
This is Rietveld 408576698