comparison src/share/vm/c1/c1_Runtime1.cpp @ 6275:957c266d8bc5

Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Tue, 21 Aug 2012 10:39:19 +0200
parents 143e68e4e4d3 8f37087fc13f
children 077fd901d7c7
comparison
equal deleted inserted replaced
5891:fd8832ae511d 6275:957c266d8bc5
300 FUNCTION_CASE(entry, SharedRuntime::lmul); 300 FUNCTION_CASE(entry, SharedRuntime::lmul);
301 FUNCTION_CASE(entry, SharedRuntime::lrem); 301 FUNCTION_CASE(entry, SharedRuntime::lrem);
302 FUNCTION_CASE(entry, SharedRuntime::lrem); 302 FUNCTION_CASE(entry, SharedRuntime::lrem);
303 FUNCTION_CASE(entry, SharedRuntime::dtrace_method_entry); 303 FUNCTION_CASE(entry, SharedRuntime::dtrace_method_entry);
304 FUNCTION_CASE(entry, SharedRuntime::dtrace_method_exit); 304 FUNCTION_CASE(entry, SharedRuntime::dtrace_method_exit);
305 FUNCTION_CASE(entry, is_instance_of);
305 FUNCTION_CASE(entry, trace_block_entry); 306 FUNCTION_CASE(entry, trace_block_entry);
307 #ifdef TRACE_HAVE_INTRINSICS
308 FUNCTION_CASE(entry, TRACE_TIME_METHOD);
309 #endif
306 310
307 #undef FUNCTION_CASE 311 #undef FUNCTION_CASE
308 312
309 // Soft float adds more runtime names. 313 // Soft float adds more runtime names.
310 return pd_name_for_address(entry); 314 return pd_name_for_address(entry);
1434 } 1438 }
1435 bs->write_ref_array(dst, num); 1439 bs->write_ref_array(dst, num);
1436 JRT_END 1440 JRT_END
1437 1441
1438 1442
1443 JRT_LEAF(int, Runtime1::is_instance_of(oopDesc* mirror, oopDesc* obj))
1444 // had to return int instead of bool, otherwise there may be a mismatch
1445 // between the C calling convention and the Java one.
1446 // e.g., on x86, GCC may clear only %al when returning a bool false, but
1447 // JVM takes the whole %eax as the return value, which may misinterpret
1448 // the return value as a boolean true.
1449
1450 assert(mirror != NULL, "should null-check on mirror before calling");
1451 klassOop k = java_lang_Class::as_klassOop(mirror);
1452 return (k != NULL && obj != NULL && obj->is_a(k)) ? 1 : 0;
1453 JRT_END
1454
1455
1439 #ifndef PRODUCT 1456 #ifndef PRODUCT
1440 void Runtime1::print_statistics() { 1457 void Runtime1::print_statistics() {
1441 tty->print_cr("C1 Runtime statistics:"); 1458 tty->print_cr("C1 Runtime statistics:");
1442 tty->print_cr(" _resolve_invoke_virtual_cnt: %d", SharedRuntime::_resolve_virtual_ctr); 1459 tty->print_cr(" _resolve_invoke_virtual_cnt: %d", SharedRuntime::_resolve_virtual_ctr);
1443 tty->print_cr(" _resolve_invoke_opt_virtual_cnt: %d", SharedRuntime::_resolve_opt_virtual_ctr); 1460 tty->print_cr(" _resolve_invoke_opt_virtual_cnt: %d", SharedRuntime::_resolve_opt_virtual_ctr);