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

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: 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 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..92b4fb5daac5b1db33eb7315ae4d681051285482 100644
--- a/src/compiler/instruction-selector-impl.h
+++ b/src/compiler/instruction-selector-impl.h
@@ -346,22 +346,29 @@ 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;
+ NodeVector output_nodes;
+ InstructionOperandVector outputs;
+ InstructionOperandVector instruction_args;
+ NodeVector pushed_nodes;
- int input_count() { return descriptor->InputCount(); }
+ int input_count() const { return descriptor->InputCount(); }
- int control_count() { return descriptor->CanLazilyDeoptimize() ? 2 : 0; }
+ int frame_state_count() const { return descriptor->FrameStateCount(); }
- int fixed_and_control_count() { return fixed_count + control_count(); }
+ int frame_state_value_count() const {
+ return (frame_state_descriptor == NULL)
+ ? 0
+ : (frame_state_descriptor->size() + 1);
+ }
+
+ int control_count() const {
+ return descriptor->CanLazilyDeoptimize() ? 2 : 0;
+ }
};
} // namespace compiler

Powered by Google App Engine
This is Rietveld 408576698