433 static ciEnv* current(CompilerThread *thread) { return thread->env(); }
434
435 // Per-compiler data. (Used by C2 to publish the Compile* pointer.)
436 void* compiler_data() { return _compiler_data; }
437 void set_compiler_data(void* x) { _compiler_data = x; }
438
439 // Notice that a method has been inlined in the current compile;
440 // used only for statistics.
441 void notice_inlined_method(ciMethod* method);
442
443 // Total number of bytecodes in inlined methods in this compile
444 int num_inlined_bytecodes() const;
445
446 // Output stream for logging compilation info.
447 CompileLog* log() { return _log; }
448 void set_log(CompileLog* log) { _log = log; }
449
450 // Check for changes to the system dictionary during compilation
451 bool system_dictionary_modification_counter_changed();
452
453 void record_failure(const char* reason);
454 void record_method_not_compilable(const char* reason, bool all_tiers = true);
455 void record_out_of_memory_failure();
456
457 // RedefineClasses support
458 void metadata_do(void f(Metadata*)) { _factory->metadata_do(f); }
459
460 // Dump the compilation replay data for the ciEnv to the stream.
461 void dump_replay_data(int compile_id);
462 void dump_inline_data(int compile_id);
463 void dump_replay_data(outputStream* out);
464 void dump_replay_data_unsafe(outputStream* out);
465 void dump_compile_data(outputStream* out);
466 };
467
468 #endif // SHARE_VM_CI_CIENV_HPP
|
433 static ciEnv* current(CompilerThread *thread) { return thread->env(); }
434
435 // Per-compiler data. (Used by C2 to publish the Compile* pointer.)
436 void* compiler_data() { return _compiler_data; }
437 void set_compiler_data(void* x) { _compiler_data = x; }
438
439 // Notice that a method has been inlined in the current compile;
440 // used only for statistics.
441 void notice_inlined_method(ciMethod* method);
442
443 // Total number of bytecodes in inlined methods in this compile
444 int num_inlined_bytecodes() const;
445
446 // Output stream for logging compilation info.
447 CompileLog* log() { return _log; }
448 void set_log(CompileLog* log) { _log = log; }
449
450 // Check for changes to the system dictionary during compilation
451 bool system_dictionary_modification_counter_changed();
452
453 void record_failure(const char* reason); // Record failure and report later
454 void report_failure(const char* reason); // Report failure immediately
455 void record_method_not_compilable(const char* reason, bool all_tiers = true);
456 void record_out_of_memory_failure();
457
458 // RedefineClasses support
459 void metadata_do(void f(Metadata*)) { _factory->metadata_do(f); }
460
461 // Dump the compilation replay data for the ciEnv to the stream.
462 void dump_replay_data(int compile_id);
463 void dump_inline_data(int compile_id);
464 void dump_replay_data(outputStream* out);
465 void dump_replay_data_unsafe(outputStream* out);
466 void dump_compile_data(outputStream* out);
467 };
468
469 #endif // SHARE_VM_CI_CIENV_HPP
|