4003 }
4004 j += t->size(); // long and double take two slots
4005 }
4006 // We don't do CHA here so only inline static and statically bindable methods.
4007 if (target->is_static() || target->can_be_statically_bound()) {
4008 Bytecodes::Code bc = target->is_static() ? Bytecodes::_invokestatic : Bytecodes::_invokevirtual;
4009 if (try_inline(target, /*holder_known*/ true, bc)) {
4010 return true;
4011 }
4012 } else {
4013 print_inlining(target, "not static or statically bindable", /*success*/ false);
4014 }
4015 }
4016 } else {
4017 print_inlining(callee, "MemberName not constant", /*success*/ false);
4018 }
4019 }
4020 break;
4021
4022 default:
4023 fatal(err_msg("unexpected intrinsic %d: %s", iid, vmIntrinsics::name_at(iid)));
4024 break;
4025 }
4026 set_state(state_before);
4027 return false;
4028 }
4029
4030
4031 void GraphBuilder::inline_bailout(const char* msg) {
4032 assert(msg != NULL, "inline bailout msg must exist");
4033 _inline_bailout_msg = msg;
4034 }
4035
4036
4037 void GraphBuilder::clear_inline_bailout() {
4038 _inline_bailout_msg = NULL;
4039 }
4040
4041
4042 void GraphBuilder::push_root_scope(IRScope* scope, BlockList* bci2block, BlockBegin* start) {
4043 ScopeData* data = new ScopeData(NULL);
|
4003 }
4004 j += t->size(); // long and double take two slots
4005 }
4006 // We don't do CHA here so only inline static and statically bindable methods.
4007 if (target->is_static() || target->can_be_statically_bound()) {
4008 Bytecodes::Code bc = target->is_static() ? Bytecodes::_invokestatic : Bytecodes::_invokevirtual;
4009 if (try_inline(target, /*holder_known*/ true, bc)) {
4010 return true;
4011 }
4012 } else {
4013 print_inlining(target, "not static or statically bindable", /*success*/ false);
4014 }
4015 }
4016 } else {
4017 print_inlining(callee, "MemberName not constant", /*success*/ false);
4018 }
4019 }
4020 break;
4021
4022 default:
4023 fatal("unexpected intrinsic %d: %s", iid, vmIntrinsics::name_at(iid));
4024 break;
4025 }
4026 set_state(state_before);
4027 return false;
4028 }
4029
4030
4031 void GraphBuilder::inline_bailout(const char* msg) {
4032 assert(msg != NULL, "inline bailout msg must exist");
4033 _inline_bailout_msg = msg;
4034 }
4035
4036
4037 void GraphBuilder::clear_inline_bailout() {
4038 _inline_bailout_msg = NULL;
4039 }
4040
4041
4042 void GraphBuilder::push_root_scope(IRScope* scope, BlockList* bci2block, BlockBegin* start) {
4043 ScopeData* data = new ScopeData(NULL);
|