132 address Method::get_i2c_entry() { 133 assert(adapter() != NULL, "must have"); 134 return adapter()->get_i2c_entry(); 135 } 136 137 address Method::get_c2i_entry() { 138 assert(adapter() != NULL, "must have"); 139 return adapter()->get_c2i_entry(); 140 } 141 142 address Method::get_c2i_value_entry() { 143 assert(adapter() != NULL, "must have"); 144 return adapter()->get_c2i_value_entry(); 145 } 146 147 address Method::get_c2i_unverified_entry() { 148 assert(adapter() != NULL, "must have"); 149 return adapter()->get_c2i_unverified_entry(); 150 } 151 152 char* Method::name_and_sig_as_C_string() const { 153 return name_and_sig_as_C_string(constants()->pool_holder(), name(), signature()); 154 } 155 156 char* Method::name_and_sig_as_C_string(char* buf, int size) const { 157 return name_and_sig_as_C_string(constants()->pool_holder(), name(), signature(), buf, size); 158 } 159 160 char* Method::name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature) { 161 const char* klass_name = klass->external_name(); 162 int klass_name_len = (int)strlen(klass_name); 163 int method_name_len = method_name->utf8_length(); 164 int len = klass_name_len + 1 + method_name_len + signature->utf8_length(); 165 char* dest = NEW_RESOURCE_ARRAY(char, len + 1); 166 strcpy(dest, klass_name); 167 dest[klass_name_len] = '.'; 168 strcpy(&dest[klass_name_len + 1], method_name->as_C_string()); 169 strcpy(&dest[klass_name_len + 1 + method_name_len], signature->as_C_string()); 170 dest[len] = 0; 171 return dest; | 132 address Method::get_i2c_entry() { 133 assert(adapter() != NULL, "must have"); 134 return adapter()->get_i2c_entry(); 135 } 136 137 address Method::get_c2i_entry() { 138 assert(adapter() != NULL, "must have"); 139 return adapter()->get_c2i_entry(); 140 } 141 142 address Method::get_c2i_value_entry() { 143 assert(adapter() != NULL, "must have"); 144 return adapter()->get_c2i_value_entry(); 145 } 146 147 address Method::get_c2i_unverified_entry() { 148 assert(adapter() != NULL, "must have"); 149 return adapter()->get_c2i_unverified_entry(); 150 } 151 152 address Method::get_c2i_unverified_value_entry() { 153 assert(adapter() != NULL, "must have"); 154 return adapter()->get_c2i_unverified_value_entry(); 155 } 156 157 char* Method::name_and_sig_as_C_string() const { 158 return name_and_sig_as_C_string(constants()->pool_holder(), name(), signature()); 159 } 160 161 char* Method::name_and_sig_as_C_string(char* buf, int size) const { 162 return name_and_sig_as_C_string(constants()->pool_holder(), name(), signature(), buf, size); 163 } 164 165 char* Method::name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature) { 166 const char* klass_name = klass->external_name(); 167 int klass_name_len = (int)strlen(klass_name); 168 int method_name_len = method_name->utf8_length(); 169 int len = klass_name_len + 1 + method_name_len + signature->utf8_length(); 170 char* dest = NEW_RESOURCE_ARRAY(char, len + 1); 171 strcpy(dest, klass_name); 172 dest[klass_name_len] = '.'; 173 strcpy(&dest[klass_name_len + 1], method_name->as_C_string()); 174 strcpy(&dest[klass_name_len + 1 + method_name_len], signature->as_C_string()); 175 dest[len] = 0; 176 return dest; |