< prev index next >

src/hotspot/share/jvmci/jvmciEnv.cpp

Print this page




  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "jvmci/jvmciEnv.hpp"
  27 #include "classfile/javaAssertions.hpp"
  28 #include "classfile/systemDictionary.hpp"
  29 #include "classfile/vmSymbols.hpp"
  30 #include "code/codeCache.hpp"
  31 #include "code/scopeDesc.hpp"
  32 #include "runtime/sweeper.hpp"
  33 #include "compiler/compileBroker.hpp"
  34 #include "compiler/compileLog.hpp"
  35 #include "compiler/compilerOracle.hpp"
  36 #include "interpreter/linkResolver.hpp"
  37 #include "memory/allocation.inline.hpp"
  38 #include "memory/oopFactory.hpp"
  39 #include "memory/resourceArea.hpp"
  40 #include "memory/universe.hpp"
  41 #include "oops/constantPool.inline.hpp"
  42 #include "oops/cpCache.inline.hpp"
  43 #include "oops/method.inline.hpp"
  44 #include "oops/methodData.hpp"
  45 #include "oops/objArrayKlass.hpp"
  46 #include "oops/oop.inline.hpp"
  47 #include "prims/jvmtiExport.hpp"

  48 #include "runtime/init.hpp"
  49 #include "runtime/reflection.hpp"
  50 #include "runtime/sharedRuntime.hpp"

  51 #include "utilities/dtrace.hpp"
  52 #include "jvmci/jvmciRuntime.hpp"
  53 #include "jvmci/jvmciJavaClasses.hpp"
  54 
  55 JVMCIEnv::JVMCIEnv(CompileTask* task, int system_dictionary_modification_counter):
  56   _task(task),
  57   _system_dictionary_modification_counter(system_dictionary_modification_counter),
  58   _failure_reason(NULL),
  59   _retryable(true)
  60 {
  61   // Get Jvmti capabilities under lock to get consistent values.
  62   MutexLocker mu(JvmtiThreadState_lock);
  63   _jvmti_can_hotswap_or_post_breakpoint = JvmtiExport::can_hotswap_or_post_breakpoint();
  64   _jvmti_can_access_local_variables     = JvmtiExport::can_access_local_variables();
  65   _jvmti_can_post_on_exceptions         = JvmtiExport::can_post_on_exceptions();
  66 }
  67 
  68 // ------------------------------------------------------------------
  69 // Note: the logic of this method should mirror the logic of
  70 // constantPoolOopDesc::verify_constant_pool_resolve.




  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "jvmci/jvmciEnv.hpp"
  27 #include "classfile/javaAssertions.hpp"
  28 #include "classfile/systemDictionary.hpp"
  29 #include "classfile/vmSymbols.hpp"
  30 #include "code/codeCache.hpp"
  31 #include "code/scopeDesc.hpp"

  32 #include "compiler/compileBroker.hpp"
  33 #include "compiler/compileLog.hpp"
  34 #include "compiler/compilerOracle.hpp"
  35 #include "interpreter/linkResolver.hpp"
  36 #include "memory/allocation.inline.hpp"
  37 #include "memory/oopFactory.hpp"
  38 #include "memory/resourceArea.hpp"
  39 #include "memory/universe.hpp"
  40 #include "oops/constantPool.inline.hpp"
  41 #include "oops/cpCache.inline.hpp"
  42 #include "oops/method.inline.hpp"
  43 #include "oops/methodData.hpp"
  44 #include "oops/objArrayKlass.hpp"
  45 #include "oops/oop.inline.hpp"
  46 #include "prims/jvmtiExport.hpp"
  47 #include "runtime/handles.inline.hpp"
  48 #include "runtime/init.hpp"
  49 #include "runtime/reflection.hpp"
  50 #include "runtime/sharedRuntime.hpp"
  51 #include "runtime/sweeper.hpp"
  52 #include "utilities/dtrace.hpp"
  53 #include "jvmci/jvmciRuntime.hpp"
  54 #include "jvmci/jvmciJavaClasses.hpp"
  55 
  56 JVMCIEnv::JVMCIEnv(CompileTask* task, int system_dictionary_modification_counter):
  57   _task(task),
  58   _system_dictionary_modification_counter(system_dictionary_modification_counter),
  59   _failure_reason(NULL),
  60   _retryable(true)
  61 {
  62   // Get Jvmti capabilities under lock to get consistent values.
  63   MutexLocker mu(JvmtiThreadState_lock);
  64   _jvmti_can_hotswap_or_post_breakpoint = JvmtiExport::can_hotswap_or_post_breakpoint();
  65   _jvmti_can_access_local_variables     = JvmtiExport::can_access_local_variables();
  66   _jvmti_can_post_on_exceptions         = JvmtiExport::can_post_on_exceptions();
  67 }
  68 
  69 // ------------------------------------------------------------------
  70 // Note: the logic of this method should mirror the logic of
  71 // constantPoolOopDesc::verify_constant_pool_resolve.


< prev index next >