Mercurial > hg > truffle
comparison src/share/vm/ci/ciEnv.hpp @ 6972:bd7a7ce2e264
6830717: replay of compilations would help with debugging
Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.
Reviewed-by: kvn, twisti, sspitsyn
Contributed-by: yumin.qi@oracle.com
author | minqi |
---|---|
date | Mon, 12 Nov 2012 14:03:53 -0800 |
parents | 137868b7aa6f |
children | 2cb439954abf e12c9b3740db |
comparison
equal
deleted
inserted
replaced
6965:3be318ecfae5 | 6972:bd7a7ce2e264 |
---|---|
44 CI_PACKAGE_ACCESS_TO | 44 CI_PACKAGE_ACCESS_TO |
45 | 45 |
46 friend class CompileBroker; | 46 friend class CompileBroker; |
47 friend class Dependencies; // for get_object, during logging | 47 friend class Dependencies; // for get_object, during logging |
48 | 48 |
49 static fileStream* _replay_data_stream; | |
50 | |
49 private: | 51 private: |
50 Arena* _arena; // Alias for _ciEnv_arena except in init_shared_objects() | 52 Arena* _arena; // Alias for _ciEnv_arena except in init_shared_objects() |
51 Arena _ciEnv_arena; | 53 Arena _ciEnv_arena; |
52 int _system_dictionary_modification_counter; | 54 int _system_dictionary_modification_counter; |
53 ciObjectFactory* _factory; | 55 ciObjectFactory* _factory; |
446 void record_method_not_compilable(const char* reason, bool all_tiers = true); | 448 void record_method_not_compilable(const char* reason, bool all_tiers = true); |
447 void record_out_of_memory_failure(); | 449 void record_out_of_memory_failure(); |
448 | 450 |
449 // RedefineClasses support | 451 // RedefineClasses support |
450 void metadata_do(void f(Metadata*)) { _factory->metadata_do(f); } | 452 void metadata_do(void f(Metadata*)) { _factory->metadata_do(f); } |
453 | |
454 // Dump the compilation replay data for this ciEnv to | |
455 // ReplayDataFile, creating the file if needed. | |
456 void dump_replay_data(); | |
457 | |
458 // Dump the compilation replay data for the ciEnv to the stream. | |
459 void dump_replay_data(outputStream* out); | |
451 }; | 460 }; |
452 | 461 |
453 #endif // SHARE_VM_CI_CIENV_HPP | 462 #endif // SHARE_VM_CI_CIENV_HPP |