447 void ensure_phis_everywhere();
448
449 // Merge the current mapping into the basic block starting at bci
450 void merge( int target_bci);
451 // Same as plain merge, except that it allocates a new path number.
452 void merge_new_path( int target_bci);
453 // Merge the current mapping into an exception handler.
454 void merge_exception(int target_bci);
455 // Helper: Merge the current mapping into the given basic block
456 void merge_common(Block* target, int pnum);
457 // Helper functions for merging individual cells.
458 PhiNode *ensure_phi( int idx, bool nocreate = false);
459 PhiNode *ensure_memory_phi(int idx, bool nocreate = false);
460 // Helper to merge the current memory state into the given basic block
461 void merge_memory_edges(MergeMemNode* n, int pnum, bool nophi);
462
463 // Parse this bytecode, and alter the Parsers JVM->Node mapping
464 void do_one_bytecode();
465
466 // helper function to generate array store check
467 void array_store_check();
468 // Helper function to generate array load
469 void array_load(BasicType etype);
470 // Helper function to generate array store
471 void array_store(BasicType etype);
472 // Helper function to compute array addressing
473 Node* array_addressing(BasicType type, int vals, const Type* *result2=NULL);
474
475 void rtm_deopt();
476
477 // Pass current map to exits
478 void return_current(Node* value);
479
480 // Register finalizers on return from Object.<init>
481 void call_register_finalizer();
482
483 // Insert a compiler safepoint into the graph
484 void add_safepoint();
485
486 // Insert a compiler safepoint into the graph, if there is a back-branch.
487 void maybe_add_safepoint(int target_bci) {
|
447 void ensure_phis_everywhere();
448
449 // Merge the current mapping into the basic block starting at bci
450 void merge( int target_bci);
451 // Same as plain merge, except that it allocates a new path number.
452 void merge_new_path( int target_bci);
453 // Merge the current mapping into an exception handler.
454 void merge_exception(int target_bci);
455 // Helper: Merge the current mapping into the given basic block
456 void merge_common(Block* target, int pnum);
457 // Helper functions for merging individual cells.
458 PhiNode *ensure_phi( int idx, bool nocreate = false);
459 PhiNode *ensure_memory_phi(int idx, bool nocreate = false);
460 // Helper to merge the current memory state into the given basic block
461 void merge_memory_edges(MergeMemNode* n, int pnum, bool nophi);
462
463 // Parse this bytecode, and alter the Parsers JVM->Node mapping
464 void do_one_bytecode();
465
466 // helper function to generate array store check
467 void array_store_check(bool target_is_valuetypearray = false);
468 // Helper function to generate array load
469 void array_load(BasicType etype);
470 // Helper function to generate array store
471 void array_store(BasicType etype);
472 // Helper function to compute array addressing
473 Node* array_addressing(BasicType type, int vals, const Type* *result2=NULL);
474
475 void rtm_deopt();
476
477 // Pass current map to exits
478 void return_current(Node* value);
479
480 // Register finalizers on return from Object.<init>
481 void call_register_finalizer();
482
483 // Insert a compiler safepoint into the graph
484 void add_safepoint();
485
486 // Insert a compiler safepoint into the graph, if there is a back-branch.
487 void maybe_add_safepoint(int target_bci) {
|