Mercurial > hg > truffle
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); |