comparison src/share/vm/oops/methodOop.cpp @ 6145:e2fe93124108

7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely Reviewed-by: kvn
author twisti
date Wed, 13 Jun 2012 11:36:03 -0700
parents 0382d2b469b2
children eba1d5bce9e8
comparison
equal deleted inserted replaced
6144:5e990493719e 6145:e2fe93124108
68 address methodOopDesc::get_c2i_unverified_entry() { 68 address methodOopDesc::get_c2i_unverified_entry() {
69 assert(_adapter != NULL, "must have"); 69 assert(_adapter != NULL, "must have");
70 return _adapter->get_c2i_unverified_entry(); 70 return _adapter->get_c2i_unverified_entry();
71 } 71 }
72 72
73 char* methodOopDesc::name_and_sig_as_C_string() { 73 char* methodOopDesc::name_and_sig_as_C_string() const {
74 return name_and_sig_as_C_string(Klass::cast(constants()->pool_holder()), name(), signature()); 74 return name_and_sig_as_C_string(Klass::cast(constants()->pool_holder()), name(), signature());
75 } 75 }
76 76
77 char* methodOopDesc::name_and_sig_as_C_string(char* buf, int size) { 77 char* methodOopDesc::name_and_sig_as_C_string(char* buf, int size) const {
78 return name_and_sig_as_C_string(Klass::cast(constants()->pool_holder()), name(), signature(), buf, size); 78 return name_and_sig_as_C_string(Klass::cast(constants()->pool_holder()), name(), signature(), buf, size);
79 } 79 }
80 80
81 char* methodOopDesc::name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature) { 81 char* methodOopDesc::name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature) {
82 const char* klass_name = klass->external_name(); 82 const char* klass_name = klass->external_name();
175 return; 175 return;
176 } 176 }
177 177
178 178
179 int methodOopDesc::bci_from(address bcp) const { 179 int methodOopDesc::bci_from(address bcp) const {
180 assert(is_native() && bcp == code_base() || contains(bcp) || is_error_reported(), "bcp doesn't belong to this method"); 180 assert(is_native() && bcp == code_base() || contains(bcp) || is_error_reported(),
181 err_msg("bcp doesn't belong to this method: bcp: " INTPTR_FORMAT ", method: %s", bcp, name_and_sig_as_C_string()));
181 return bcp - code_base(); 182 return bcp - code_base();
182 } 183 }
183 184
184 185
185 // Return (int)bcx if it appears to be a valid BCI. 186 // Return (int)bcx if it appears to be a valid BCI.