comparison src/share/vm/compiler/compileBroker.cpp @ 19321:98592ae4b1fa

only record method dependencies if JVMTI hotswapping or breakpointing is enabled don't verify dependencies if the SystemDictionary was not updated during compilation
author Doug Simon <doug.simon@oracle.com>
date Thu, 12 Feb 2015 16:54:12 +0100
parents ab47ef2f2207
children c3d9637c98ed
comparison
equal deleted inserted replaced
19320:49605c649beb 19321:98592ae4b1fa
1985 push_jni_handle_block(); 1985 push_jni_handle_block();
1986 Method* target_handle = task->method(); 1986 Method* target_handle = task->method();
1987 int compilable = ciEnv::MethodCompilable; 1987 int compilable = ciEnv::MethodCompilable;
1988 AbstractCompiler *comp = compiler(task_level); 1988 AbstractCompiler *comp = compiler(task_level);
1989 1989
1990 int system_dictionary_modification_counter;
1991 {
1992 MutexLocker locker(Compile_lock, thread);
1993 system_dictionary_modification_counter = SystemDictionary::number_of_modifications();
1994 }
1990 #ifdef COMPILERGRAAL 1995 #ifdef COMPILERGRAAL
1991 if (comp != NULL && comp->is_graal()) { 1996 if (comp != NULL && comp->is_graal()) {
1992 GraalCompiler* graal = (GraalCompiler*) comp; 1997 GraalCompiler* graal = (GraalCompiler*) comp;
1993 1998
1994 TraceTime t1("compilation", &time); 1999 TraceTime t1("compilation", &time);
1995 EventCompilation event; 2000 EventCompilation event;
1996 2001
1997 graal->compile_method(target_handle, osr_bci, task); 2002 GraalEnv env(task, system_dictionary_modification_counter);
2003 graal->compile_method(target_handle, osr_bci, &env);
1998 2004
1999 post_compile(thread, task, event, task->code() != NULL, NULL); 2005 post_compile(thread, task, event, task->code() != NULL, NULL);
2000 } else 2006 } else
2001 #endif // COMPILERGRAAL 2007 #endif // COMPILERGRAAL
2002 { 2008 {
2003 int system_dictionary_modification_counter;
2004 {
2005 MutexLocker locker(Compile_lock, thread);
2006 system_dictionary_modification_counter = SystemDictionary::number_of_modifications();
2007 }
2008 2009
2009 NoHandleMark nhm; 2010 NoHandleMark nhm;
2010 ThreadToNativeFromVM ttn(thread); 2011 ThreadToNativeFromVM ttn(thread);
2011 2012
2012 ciEnv ci_env(task, system_dictionary_modification_counter); 2013 ciEnv ci_env(task, system_dictionary_modification_counter);