comparison src/share/vm/compiler/disassembler.cpp @ 7062:8c5333c80cfd

increased CompileThreshold to increase reliability of profiling information increased InitialCodeCacheSize to fit the bootstrapping added flag -XX:GraalClassPath to allow providing a .jar or .zip file that contains all Graal classes added support for the flag -XX:TraceCompilationPolicy to the Graal-specific compilation policy
author Christian Haeubl <haeubl@ssw.jku.at>
date Thu, 15 Nov 2012 11:40:50 +0100
parents 3e23978ea0c3
children 7d815d842ee0
comparison
equal deleted inserted replaced
6717:5bbe9618118e 7062:8c5333c80cfd
461 461
462 462
463 void Disassembler::decode(CodeBlob* cb, outputStream* st) { 463 void Disassembler::decode(CodeBlob* cb, outputStream* st) {
464 if (!load_library()) return; 464 if (!load_library()) return;
465 decode_env env(cb, st); 465 decode_env env(cb, st);
466 env.output()->print_cr("Decoding CodeBlob " PTR_FORMAT, cb); 466 env.output()->print_cr("----------------------------------------------------------------------");
467 env.output()->print_cr("%s at [" PTR_FORMAT ", " PTR_FORMAT "] %d bytes", cb->name(), cb->code_begin(), cb->code_end(), ((jlong)(cb->code_end() - cb->code_begin())) * sizeof(unsigned char*));
467 env.decode_instructions(cb->code_begin(), cb->code_end()); 468 env.decode_instructions(cb->code_begin(), cb->code_end());
468 } 469 }
469 470
470 471
471 void Disassembler::decode(address start, address end, outputStream* st) { 472 void Disassembler::decode(address start, address end, outputStream* st) {
475 } 476 }
476 477
477 void Disassembler::decode(nmethod* nm, outputStream* st) { 478 void Disassembler::decode(nmethod* nm, outputStream* st) {
478 if (!load_library()) return; 479 if (!load_library()) return;
479 decode_env env(nm, st); 480 decode_env env(nm, st);
480 env.output()->print_cr("Decoding compiled method " PTR_FORMAT ":", nm); 481 env.output()->print_cr("----------------------------------------------------------------------");
481 env.output()->print_cr("Code:");
482 482
483 #ifdef SHARK 483 #ifdef SHARK
484 SharkEntry* entry = (SharkEntry *) nm->code_begin(); 484 SharkEntry* entry = (SharkEntry *) nm->code_begin();
485 unsigned char* p = entry->code_start(); 485 unsigned char* p = entry->code_start();
486 unsigned char* end = entry->code_limit(); 486 unsigned char* end = entry->code_limit();
487 #else 487 #else
488 unsigned char* p = nm->code_begin(); 488 unsigned char* p = nm->code_begin();
489 unsigned char* end = nm->code_end(); 489 unsigned char* end = nm->code_end();
490 #endif // SHARK 490 #endif // SHARK
491
492 nm->method()->method_holder()->klass_part()->name()->print_symbol_on(env.output());
493 env.output()->print(".");
494 nm->method()->name()->print_symbol_on(env.output());
495 env.output()->print_cr(" [" PTR_FORMAT ", " PTR_FORMAT "] %d bytes", p, end, ((jlong)(end - p)) * sizeof(unsigned char*));
491 496
492 // If there has been profiling, print the buckets. 497 // If there has been profiling, print the buckets.
493 if (FlatProfiler::bucket_start_for(p) != NULL) { 498 if (FlatProfiler::bucket_start_for(p) != NULL) {
494 unsigned char* p1 = p; 499 unsigned char* p1 = p;
495 int total_bucket_count = 0; 500 int total_bucket_count = 0;