src/hotspot/share/ci/ciMethod.cpp
changeset 48024 6199dfaf72da
parent 47687 fb290fd1f9d4
child 49340 4e82736053ae
equal deleted inserted replaced
48023:4b7462e3b552 48024:6199dfaf72da
    85   _size_of_parameters = h_m()->size_of_parameters();
    85   _size_of_parameters = h_m()->size_of_parameters();
    86   _uses_monitors      = h_m()->access_flags().has_monitor_bytecodes();
    86   _uses_monitors      = h_m()->access_flags().has_monitor_bytecodes();
    87   _balanced_monitors  = !_uses_monitors || h_m()->access_flags().is_monitor_matching();
    87   _balanced_monitors  = !_uses_monitors || h_m()->access_flags().is_monitor_matching();
    88   _is_c1_compilable   = !h_m()->is_not_c1_compilable();
    88   _is_c1_compilable   = !h_m()->is_not_c1_compilable();
    89   _is_c2_compilable   = !h_m()->is_not_c2_compilable();
    89   _is_c2_compilable   = !h_m()->is_not_c2_compilable();
       
    90   _can_be_parsed      = true;
    90   _has_reserved_stack_access = h_m()->has_reserved_stack_access();
    91   _has_reserved_stack_access = h_m()->has_reserved_stack_access();
    91   // Lazy fields, filled in on demand.  Require allocation.
    92   // Lazy fields, filled in on demand.  Require allocation.
    92   _code               = NULL;
    93   _code               = NULL;
    93   _exception_handlers = NULL;
    94   _exception_handlers = NULL;
    94   _liveness           = NULL;
    95   _liveness           = NULL;
    97   _flow               = NULL;
    98   _flow               = NULL;
    98   _bcea               = NULL;
    99   _bcea               = NULL;
    99 #endif // COMPILER2
   100 #endif // COMPILER2
   100 
   101 
   101   ciEnv *env = CURRENT_ENV;
   102   ciEnv *env = CURRENT_ENV;
   102   if (env->jvmti_can_hotswap_or_post_breakpoint() && can_be_compiled()) {
   103   if (env->jvmti_can_hotswap_or_post_breakpoint()) {
   103     // 6328518 check hotswap conditions under the right lock.
   104     // 6328518 check hotswap conditions under the right lock.
   104     MutexLocker locker(Compile_lock);
   105     MutexLocker locker(Compile_lock);
   105     if (Dependencies::check_evol_method(h_m()) != NULL) {
   106     if (Dependencies::check_evol_method(h_m()) != NULL) {
   106       _is_c1_compilable = false;
   107       _is_c1_compilable = false;
   107       _is_c2_compilable = false;
   108       _is_c2_compilable = false;
       
   109       _can_be_parsed = false;
   108     }
   110     }
   109   } else {
   111   } else {
   110     CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
   112     CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
   111   }
   113   }
   112 
   114