1.1 --- a/src/share/vm/compiler/compileBroker.cpp Mon Jul 23 13:04:59 2012 -0700 1.2 +++ b/src/share/vm/compiler/compileBroker.cpp Tue Jul 24 10:51:00 2012 -0700 1.3 @@ -407,7 +407,10 @@ 1.4 if (is_osr_method) { 1.5 st->print(" @ %d", osr_bci); 1.6 } 1.7 - st->print(" (%d bytes)", method->code_size()); 1.8 + if (method->is_native()) 1.9 + st->print(" (native)"); 1.10 + else 1.11 + st->print(" (%d bytes)", method->code_size()); 1.12 } 1.13 1.14 if (msg != NULL) { 1.15 @@ -427,12 +430,17 @@ 1.16 st->print(" "); // print compilation number 1.17 1.18 // method attributes 1.19 - const char sync_char = method->is_synchronized() ? 's' : ' '; 1.20 - const char exception_char = method->has_exception_handlers() ? '!' : ' '; 1.21 - const char monitors_char = method->has_monitor_bytecodes() ? 'm' : ' '; 1.22 + if (method->is_loaded()) { 1.23 + const char sync_char = method->is_synchronized() ? 's' : ' '; 1.24 + const char exception_char = method->has_exception_handlers() ? '!' : ' '; 1.25 + const char monitors_char = method->has_monitor_bytecodes() ? 'm' : ' '; 1.26 1.27 - // print method attributes 1.28 - st->print(" %c%c%c ", sync_char, exception_char, monitors_char); 1.29 + // print method attributes 1.30 + st->print(" %c%c%c ", sync_char, exception_char, monitors_char); 1.31 + } else { 1.32 + // %s!bn 1.33 + st->print(" "); // print method attributes 1.34 + } 1.35 1.36 if (TieredCompilation) { 1.37 st->print(" "); 1.38 @@ -444,7 +452,10 @@ 1.39 1.40 st->print("@ %d ", bci); // print bci 1.41 method->print_short_name(st); 1.42 - st->print(" (%d bytes)", method->code_size()); 1.43 + if (method->is_loaded()) 1.44 + st->print(" (%d bytes)", method->code_size()); 1.45 + else 1.46 + st->print(" (not loaded)"); 1.47 1.48 if (msg != NULL) { 1.49 st->print(" %s", msg); 1.50 @@ -1018,6 +1029,7 @@ 1.51 "sanity check"); 1.52 assert(!instanceKlass::cast(method->method_holder())->is_not_initialized(), 1.53 "method holder must be initialized"); 1.54 + assert(!method->is_method_handle_intrinsic(), "do not enqueue these guys"); 1.55 1.56 if (CIPrintRequests) { 1.57 tty->print("request: "); 1.58 @@ -1231,7 +1243,7 @@ 1.59 // 1.60 // Note: A native method implies non-osr compilation which is 1.61 // checked with an assertion at the entry of this method. 1.62 - if (method->is_native()) { 1.63 + if (method->is_native() && !method->is_method_handle_intrinsic()) { 1.64 bool in_base_library; 1.65 address adr = NativeLookup::lookup(method, in_base_library, THREAD); 1.66 if (HAS_PENDING_EXCEPTION) { 1.67 @@ -1264,7 +1276,7 @@ 1.68 1.69 // do the compilation 1.70 if (method->is_native()) { 1.71 - if (!PreferInterpreterNativeStubs) { 1.72 + if (!PreferInterpreterNativeStubs || method->is_method_handle_intrinsic()) { 1.73 // Acquire our lock. 1.74 int compile_id; 1.75 {