Mercurial > hg > truffle
comparison src/share/vm/opto/parse.hpp @ 20327:411e30e5fbb8
8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
author | roland |
---|---|
date | Wed, 13 Aug 2014 11:00:22 +0200 |
parents | 62c54fcc0a35 |
children | 42460b71ba70 |
comparison
equal
deleted
inserted
replaced
20326:da00a41842a5 | 20327:411e30e5fbb8 |
---|---|
355 #ifndef PRODUCT | 355 #ifndef PRODUCT |
356 int _max_switch_depth; // Debugging SwitchRanges. | 356 int _max_switch_depth; // Debugging SwitchRanges. |
357 int _est_switch_depth; // Debugging SwitchRanges. | 357 int _est_switch_depth; // Debugging SwitchRanges. |
358 #endif | 358 #endif |
359 | 359 |
360 // parser for the caller of the method of this object | 360 bool _first_return; // true if return is the first to be parsed |
361 Parse* const _parent; | 361 bool _replaced_nodes_for_exceptions; // needs processing of replaced nodes in exception paths? |
362 uint _new_idx; // any node with _idx above were new during this parsing. Used to trim the replaced nodes list. | |
362 | 363 |
363 public: | 364 public: |
364 // Constructor | 365 // Constructor |
365 Parse(JVMState* caller, ciMethod* parse_method, float expected_uses, Parse* parent); | 366 Parse(JVMState* caller, ciMethod* parse_method, float expected_uses); |
366 | 367 |
367 virtual Parse* is_Parse() const { return (Parse*)this; } | 368 virtual Parse* is_Parse() const { return (Parse*)this; } |
368 | 369 |
369 // Accessors. | 370 // Accessors. |
370 JVMState* caller() const { return _caller; } | 371 JVMState* caller() const { return _caller; } |
416 } | 417 } |
417 // Can return NULL if the flow pass did not complete a block. | 418 // Can return NULL if the flow pass did not complete a block. |
418 Block* successor_for_bci(int bci) { | 419 Block* successor_for_bci(int bci) { |
419 return block()->successor_for_bci(bci); | 420 return block()->successor_for_bci(bci); |
420 } | 421 } |
421 | |
422 Parse* parent_parser() const { return _parent; } | |
423 | 422 |
424 private: | 423 private: |
425 // Create a JVMS & map for the initial state of this method. | 424 // Create a JVMS & map for the initial state of this method. |
426 SafePointNode* create_entry_map(); | 425 SafePointNode* create_entry_map(); |
427 | 426 |