480 // Helper function to generate array store |
480 // Helper function to generate array store |
481 void array_store(BasicType etype); |
481 void array_store(BasicType etype); |
482 // Helper function to compute array addressing |
482 // Helper function to compute array addressing |
483 Node* array_addressing(BasicType type, int vals, const Type* *result2=NULL); |
483 Node* array_addressing(BasicType type, int vals, const Type* *result2=NULL); |
484 |
484 |
|
485 void clinit_deopt(); |
|
486 |
485 void rtm_deopt(); |
487 void rtm_deopt(); |
486 |
488 |
487 // Pass current map to exits |
489 // Pass current map to exits |
488 void return_current(Node* value); |
490 void return_current(Node* value); |
489 |
491 |
528 void do_putstatic() { do_field_access(false, false); } |
530 void do_putstatic() { do_field_access(false, false); } |
529 void do_putfield () { do_field_access(false, true); } |
531 void do_putfield () { do_field_access(false, true); } |
530 |
532 |
531 // common code for making initial checks and forming addresses |
533 // common code for making initial checks and forming addresses |
532 void do_field_access(bool is_get, bool is_field); |
534 void do_field_access(bool is_get, bool is_field); |
533 bool static_field_ok_in_clinit(ciField *field, ciMethod *method); |
|
534 |
535 |
535 // common code for actually performing the load or store |
536 // common code for actually performing the load or store |
536 void do_get_xxx(Node* obj, ciField* field, bool is_field); |
537 void do_get_xxx(Node* obj, ciField* field, bool is_field); |
537 void do_put_xxx(Node* obj, ciField* field, bool is_field); |
538 void do_put_xxx(Node* obj, ciField* field, bool is_field); |
538 |
539 |
539 // implementation of object creation bytecodes |
540 // implementation of object creation bytecodes |
540 void emit_guard_for_new(ciInstanceKlass* klass); |
|
541 void do_new(); |
541 void do_new(); |
542 void do_newarray(BasicType elemtype); |
542 void do_newarray(BasicType elemtype); |
543 void do_anewarray(); |
543 void do_anewarray(); |
544 void do_multianewarray(); |
544 void do_multianewarray(); |
545 Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs); |
545 Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs); |