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