Chromium Code Reviews| Index: runtime/vm/flow_graph_compiler.h |
| diff --git a/runtime/vm/flow_graph_compiler.h b/runtime/vm/flow_graph_compiler.h |
| index 536720e2ac7c4059318294e362ff030df763ae9a..19836136e28ca6dbdd3850924c8d7a9a9f43059f 100644 |
| --- a/runtime/vm/flow_graph_compiler.h |
| +++ b/runtime/vm/flow_graph_compiler.h |
| @@ -662,6 +662,17 @@ class FlowGraphCompiler : public ValueObject { |
| void FrameStateClear(); |
| #endif |
| + // This struct contains either function or code, the other one being NULL. |
| + struct StaticCallsStruct { |
|
Ivan Posva
2015/08/20 23:53:36
This struct has a constructor, shouldn't it be a c
srdjan
2015/08/21 16:56:14
This is a pattern that we use throughout the VM. D
|
| + intptr_t offset; |
| + const Function* function; // Can be NULL. |
| + const Code* code; // Can be NULL. |
| + StaticCallsStruct(intptr_t offset_arg, |
| + const Function* function_arg, |
| + const Code* code_arg) |
| + : offset(offset_arg), function(function_arg), code(code_arg) {} |
|
Ivan Posva
2015/08/20 23:53:36
How about asserting that the handles being passed
srdjan
2015/08/21 16:56:14
Thanks, will add checks for zone handles in next C
|
| + }; |
| + |
| Isolate* isolate_; |
| Zone* zone_; |
| Assembler* assembler_; |
| @@ -683,11 +694,10 @@ class FlowGraphCompiler : public ValueObject { |
| GrowableArray<BlockInfo*> block_info_; |
| GrowableArray<CompilerDeoptInfo*> deopt_infos_; |
| GrowableArray<SlowPathCode*> slow_path_code_; |
| - // Stores: [code offset, function or null, null(code)]. |
| // Stores static call targets as well as stub targets. |
| // TODO(srdjan): Evaluate if we should store allocation stub targets into a |
| // separate table? |
| - const GrowableObjectArray& static_calls_target_table_; |
| + GrowableArray<StaticCallsStruct> static_calls_target_table_; |
| const bool is_optimizing_; |
| // Set to true if optimized code has IC calls. |
| bool may_reoptimize_; |