comparison src/share/vm/oops/constantPool.cpp @ 6822:f6b0eb4e44cf

7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path Reviewed-by: jrose, kvn
author twisti
date Mon, 01 Oct 2012 14:50:10 -0700
parents fa6e618671d7
children 6e5a59a8e4a7
comparison
equal deleted inserted replaced
6811:1b582b1bf7cb 6822:f6b0eb4e44cf
443 int cache_index = decode_cpcache_index(which, true); 443 int cache_index = decode_cpcache_index(which, true);
444 ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index); 444 ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index);
445 return e->has_appendix(); 445 return e->has_appendix();
446 } 446 }
447 447
448
449 oop ConstantPool::appendix_at_if_loaded(constantPoolHandle cpool, int which) { 448 oop ConstantPool::appendix_at_if_loaded(constantPoolHandle cpool, int which) {
450 if (cpool->cache() == NULL) return NULL; // nothing to load yet 449 if (cpool->cache() == NULL) return NULL; // nothing to load yet
451 int cache_index = decode_cpcache_index(which, true); 450 int cache_index = decode_cpcache_index(which, true);
452 ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index); 451 ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index);
453 return e->appendix_if_resolved(cpool); 452 return e->appendix_if_resolved(cpool);
453 }
454
455
456 bool ConstantPool::has_method_type_at_if_loaded(constantPoolHandle cpool, int which) {
457 if (cpool->cache() == NULL) return false; // nothing to load yet
458 int cache_index = decode_cpcache_index(which, true);
459 ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index);
460 return e->has_method_type();
461 }
462
463 oop ConstantPool::method_type_at_if_loaded(constantPoolHandle cpool, int which) {
464 if (cpool->cache() == NULL) return NULL; // nothing to load yet
465 int cache_index = decode_cpcache_index(which, true);
466 ConstantPoolCacheEntry* e = cpool->cache()->entry_at(cache_index);
467 return e->method_type_if_resolved(cpool);
454 } 468 }
455 469
456 470
457 Symbol* ConstantPool::impl_name_ref_at(int which, bool uncached) { 471 Symbol* ConstantPool::impl_name_ref_at(int which, bool uncached) {
458 int name_index = name_ref_index_at(impl_name_and_type_ref_index_at(which, uncached)); 472 int name_index = name_ref_index_at(impl_name_and_type_ref_index_at(which, uncached));