Mercurial > hg > truffle
changeset 18226:6eda3b299460
Record compilation dependencies with +LogCompilation
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Fri, 31 Oct 2014 12:20:56 -0700 |
parents | 40074f6ac788 |
children | bcb1e5c232d8 |
files | src/share/vm/code/dependencies.cpp src/share/vm/code/dependencies.hpp src/share/vm/graal/graalCodeInstaller.cpp src/share/vm/graal/graalEnv.cpp |
diffstat | 4 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/code/dependencies.cpp Fri Oct 31 11:25:32 2014 -0700 +++ b/src/share/vm/code/dependencies.cpp Fri Oct 31 12:20:56 2014 -0700 @@ -125,9 +125,9 @@ #ifdef GRAAL -Dependencies::Dependencies(Arena* arena, OopRecorder* oop_recorder) { +Dependencies::Dependencies(Arena* arena, OopRecorder* oop_recorder, CompileLog* log) { _oop_recorder = oop_recorder; - _log = NULL; + _log = log; _dep_seen = new(arena) GrowableArray<int>(arena, 500, 0, 0); _using_dep_values = true; DEBUG_ONLY(_dep_values[end_marker] = NULL); @@ -792,8 +792,14 @@ } } if (_deps != NULL && _deps->log() != NULL) { - Dependencies::write_dependency_to(_deps->log(), - type(), nargs, args, witness); + if (ciEnv::current() != NULL) { + Dependencies::write_dependency_to(_deps->log(), + type(), nargs, args, witness); + } else { + // Treat the CompileLog as an xmlstream instead + Dependencies::write_dependency_to((xmlStream*)_deps->log(), + type(), nargs, args, witness); + } } else { Dependencies::write_dependency_to(xtty, type(), nargs, args, witness);
--- a/src/share/vm/code/dependencies.hpp Fri Oct 31 11:25:32 2014 -0700 +++ b/src/share/vm/code/dependencies.hpp Fri Oct 31 12:20:56 2014 -0700 @@ -312,7 +312,7 @@ initialize(env); } #ifdef GRAAL - Dependencies(Arena* arena, OopRecorder* oop_recorder); + Dependencies(Arena* arena, OopRecorder* oop_recorder, CompileLog* log); #endif // GRAAL private:
--- a/src/share/vm/graal/graalCodeInstaller.cpp Fri Oct 31 11:25:32 2014 -0700 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Fri Oct 31 12:20:56 2014 -0700 @@ -390,8 +390,10 @@ } void CodeInstaller::initialize_assumptions(oop compiled_code) { + JavaThread* thread = JavaThread::current(); + CompilerThread* compilerThread = thread->is_Compiler_thread() ? thread->as_CompilerThread() : NULL; _oop_recorder = new OopRecorder(&_arena, true); - _dependencies = new Dependencies(&_arena, _oop_recorder); + _dependencies = new Dependencies(&_arena, _oop_recorder, compilerThread != NULL ? compilerThread->log() : NULL); Handle assumptions_handle = CompilationResult::assumptions(HotSpotCompiledCode::comp(compiled_code)); if (!assumptions_handle.is_null()) { objArrayHandle assumptions(Thread::current(), Assumptions::list(assumptions_handle()));