HGraph是一个method的控制流图。包含a list of basic blocks。
该类的私有变量有:
328 ArenaAllocator* const arena_;//该图所在的arena
329
330 // List of blocks in insertion order.以插入顺序形成的基本块表
331 GrowableArray<HBasicBlock*> blocks_;
332
333 // List of blocks to perform a reverse post order tree traversal.形成倒序树型遍历的基本块表
334 GrowableArray<HBasicBlock*> reverse_post_order_;
335
336 // List of blocks to perform a linear order tree traversal.形成线性树型遍历的基本快表
337 GrowableArray<HBasicBlock*> linear_order_;
338
339 HBasicBlock* entry_block_;//入口块
340 HBasicBlock* exit_block_;//出口块
341
342 // The maximum number of virtual registers arguments passed to a HInvoke in this graph.
//在该图中传递给HInvoke的虚拟寄存器参数的最大值。
343 uint16_t maximum_number_of_out_vregs_;
344
345 // The number of virtual registers in this method. Contains the parameters.
//本方法中的虚拟寄存器的数量。包括参数。
346 uint16_t number_of_vregs_;
347
348 // The number of virtual registers used by parameters of this method.
//本方法的参数所使用的虚拟寄存器的数量
349 uint16_t number_of_in_vregs_;
350
351 // Number of vreg size slots that the temporaries use (used in baseline compiler).
//临时使用的vreg size slots的数量(在baseline compiler中使用,即无优化的编译器)
352 size_t temporaries_vreg_slots_;
353
354 // Has bounds checks. We can totally skip BCE if it's false.</