466 // Merge the current mapping into an exception handler.
467 void merge_exception(int target_bci);
468 // Helper: Merge the current mapping into the given basic block
469 void merge_common(Block* target, int pnum);
470 // Helper functions for merging individual cells.
471 PhiNode *ensure_phi( int idx, bool nocreate = false);
472 PhiNode *ensure_memory_phi(int idx, bool nocreate = false);
473 // Helper to merge the current memory state into the given basic block
474 void merge_memory_edges(MergeMemNode* n, int pnum, bool nophi);
475
476 // Parse this bytecode, and alter the Parsers JVM->Node mapping
477 void do_one_bytecode();
478
479 // helper function to generate array store check
480 void array_store_check();
481 // Helper function to generate array load
482 void array_load(BasicType etype);
483 // Helper function to generate array store
484 void array_store(BasicType etype);
485 // Helper function to compute array addressing
486 Node* array_addressing(BasicType type, int vals, const Type* *result2=NULL);
487
488 void rtm_deopt();
489
490 // Pass current map to exits
491 void return_current(Node* value);
492
493 // Register finalizers on return from Object.<init>
494 void call_register_finalizer();
495
496 // Insert a compiler safepoint into the graph
497 void add_safepoint();
498
499 // Insert a compiler safepoint into the graph, if there is a back-branch.
500 void maybe_add_safepoint(int target_bci) {
501 if (UseLoopSafepoints && target_bci <= bci()) {
502 add_safepoint();
503 }
504 }
505
506 // Note: Intrinsic generation routines may be found in library_call.cpp.
|
466 // Merge the current mapping into an exception handler.
467 void merge_exception(int target_bci);
468 // Helper: Merge the current mapping into the given basic block
469 void merge_common(Block* target, int pnum);
470 // Helper functions for merging individual cells.
471 PhiNode *ensure_phi( int idx, bool nocreate = false);
472 PhiNode *ensure_memory_phi(int idx, bool nocreate = false);
473 // Helper to merge the current memory state into the given basic block
474 void merge_memory_edges(MergeMemNode* n, int pnum, bool nophi);
475
476 // Parse this bytecode, and alter the Parsers JVM->Node mapping
477 void do_one_bytecode();
478
479 // helper function to generate array store check
480 void array_store_check();
481 // Helper function to generate array load
482 void array_load(BasicType etype);
483 // Helper function to generate array store
484 void array_store(BasicType etype);
485 // Helper function to compute array addressing
486 Node* array_addressing(BasicType type, int vals, bool is_store, const Type* *result2=NULL);
487
488 void rtm_deopt();
489
490 // Pass current map to exits
491 void return_current(Node* value);
492
493 // Register finalizers on return from Object.<init>
494 void call_register_finalizer();
495
496 // Insert a compiler safepoint into the graph
497 void add_safepoint();
498
499 // Insert a compiler safepoint into the graph, if there is a back-branch.
500 void maybe_add_safepoint(int target_bci) {
501 if (UseLoopSafepoints && target_bci <= bci()) {
502 add_safepoint();
503 }
504 }
505
506 // Note: Intrinsic generation routines may be found in library_call.cpp.
|