comparison src/share/vm/interpreter/rewriter.cpp @ 856:75596850f863

6862576: vmIntrinsics needs cleanup in order to support JSR 292 intrinsics Summary: remove useless lazy evaluation of intrinsics; add LAST_COMPILER_INLINE to help categorize them Reviewed-by: kvn
author jrose
date Tue, 21 Jul 2009 16:56:06 -0700
parents be93aad57795
children 389049f3f393
comparison
equal deleted inserted replaced
854:606c988ff684 856:75596850f863
271 271
272 // determine index maps for methodOop rewriting 272 // determine index maps for methodOop rewriting
273 compute_index_maps(); 273 compute_index_maps();
274 274
275 if (RegisterFinalizersAtInit && _klass->name() == vmSymbols::java_lang_Object()) { 275 if (RegisterFinalizersAtInit && _klass->name() == vmSymbols::java_lang_Object()) {
276 bool did_rewrite = false;
276 int i = _methods->length(); 277 int i = _methods->length();
277 while (i-- > 0) { 278 while (i-- > 0) {
278 methodOop method = (methodOop)_methods->obj_at(i); 279 methodOop method = (methodOop)_methods->obj_at(i);
279 if (method->intrinsic_id() == vmIntrinsics::_Object_init) { 280 if (method->intrinsic_id() == vmIntrinsics::_Object_init) {
280 // rewrite the return bytecodes of Object.<init> to register the 281 // rewrite the return bytecodes of Object.<init> to register the
281 // object for finalization if needed. 282 // object for finalization if needed.
282 methodHandle m(THREAD, method); 283 methodHandle m(THREAD, method);
283 rewrite_Object_init(m, CHECK); 284 rewrite_Object_init(m, CHECK);
285 did_rewrite = true;
284 break; 286 break;
285 } 287 }
286 } 288 }
289 assert(did_rewrite, "must find Object::<init> to rewrite it");
287 } 290 }
288 291
289 // rewrite methods, in two passes 292 // rewrite methods, in two passes
290 int i, len = _methods->length(); 293 int i, len = _methods->length();
291 294