< prev index next >
src/hotspot/share/ci/ciMethod.cpp
Print this page
rev 47445 : 8171853: Remove Shark compiler
*** 51,64 ****
#ifdef COMPILER2
#include "ci/bcEscapeAnalyzer.hpp"
#include "ci/ciTypeFlow.hpp"
#include "oops/method.hpp"
#endif
- #ifdef SHARK
- #include "ci/ciTypeFlow.hpp"
- #include "oops/method.hpp"
- #endif
// ciMethod
//
// This class represents a Method* in the HotSpot virtual
// machine.
--- 51,60 ----
*** 95,108 ****
// Lazy fields, filled in on demand. Require allocation.
_code = NULL;
_exception_handlers = NULL;
_liveness = NULL;
_method_blocks = NULL;
! #if defined(COMPILER2) || defined(SHARK)
_flow = NULL;
_bcea = NULL;
! #endif // COMPILER2 || SHARK
ciEnv *env = CURRENT_ENV;
if (env->jvmti_can_hotswap_or_post_breakpoint() && can_be_compiled()) {
// 6328518 check hotswap conditions under the right lock.
MutexLocker locker(Compile_lock);
--- 91,104 ----
// Lazy fields, filled in on demand. Require allocation.
_code = NULL;
_exception_handlers = NULL;
_liveness = NULL;
_method_blocks = NULL;
! #if defined(COMPILER2)
_flow = NULL;
_bcea = NULL;
! #endif // COMPILER2
ciEnv *env = CURRENT_ENV;
if (env->jvmti_can_hotswap_or_post_breakpoint() && can_be_compiled()) {
// 6328518 check hotswap conditions under the right lock.
MutexLocker locker(Compile_lock);
*** 171,186 ****
_intrinsic_id( vmIntrinsics::_none),
_liveness( NULL),
_can_be_statically_bound(false),
_method_blocks( NULL),
_method_data( NULL)
! #if defined(COMPILER2) || defined(SHARK)
,
_flow( NULL),
_bcea( NULL),
_instructions_size(-1)
! #endif // COMPILER2 || SHARK
{
// Usually holder and accessor are the same type but in some cases
// the holder has the wrong class loader (e.g. invokedynamic call
// sites) so we pass the accessor.
_signature = new (CURRENT_ENV->arena()) ciSignature(accessor, constantPoolHandle(), signature);
--- 167,182 ----
_intrinsic_id( vmIntrinsics::_none),
_liveness( NULL),
_can_be_statically_bound(false),
_method_blocks( NULL),
_method_data( NULL)
! #if defined(COMPILER2)
,
_flow( NULL),
_bcea( NULL),
_instructions_size(-1)
! #endif // COMPILER2
{
// Usually holder and accessor are the same type but in some cases
// the holder has the wrong class loader (e.g. invokedynamic call
// sites) so we pass the accessor.
_signature = new (CURRENT_ENV->arena()) ciSignature(accessor, constantPoolHandle(), signature);
*** 285,311 ****
VM_ENTRY_MARK;
return get_Method()->vtable_index();
}
- #ifdef SHARK
- // ------------------------------------------------------------------
- // ciMethod::itable_index
- //
- // Get the position of this method's entry in the itable, if any.
- int ciMethod::itable_index() {
- check_is_loaded();
- assert(holder()->is_linked(), "must be linked");
- VM_ENTRY_MARK;
- Method* m = get_Method();
- if (!m->has_itable_index())
- return Method::nonvirtual_vtable_index;
- return m->itable_index();
- }
- #endif // SHARK
-
-
// ------------------------------------------------------------------
// ciMethod::native_entry
//
// Get the address of this method's native code, if any.
address ciMethod::native_entry() {
--- 281,290 ----
*** 367,404 ****
// ------------------------------------------------------------------
// ciMethod::get_flow_analysis
ciTypeFlow* ciMethod::get_flow_analysis() {
! #if defined(COMPILER2) || defined(SHARK)
if (_flow == NULL) {
ciEnv* env = CURRENT_ENV;
_flow = new (env->arena()) ciTypeFlow(env, this);
_flow->do_flow();
}
return _flow;
! #else // COMPILER2 || SHARK
ShouldNotReachHere();
return NULL;
! #endif // COMPILER2 || SHARK
}
// ------------------------------------------------------------------
// ciMethod::get_osr_flow_analysis
ciTypeFlow* ciMethod::get_osr_flow_analysis(int osr_bci) {
! #if defined(COMPILER2) || defined(SHARK)
// OSR entry points are always place after a call bytecode of some sort
assert(osr_bci >= 0, "must supply valid OSR entry point");
ciEnv* env = CURRENT_ENV;
ciTypeFlow* flow = new (env->arena()) ciTypeFlow(env, this, osr_bci);
flow->do_flow();
return flow;
! #else // COMPILER2 || SHARK
ShouldNotReachHere();
return NULL;
! #endif // COMPILER2 || SHARK
}
// ------------------------------------------------------------------
// ciMethod::raw_liveness_at_bci
//
--- 346,383 ----
// ------------------------------------------------------------------
// ciMethod::get_flow_analysis
ciTypeFlow* ciMethod::get_flow_analysis() {
! #if defined(COMPILER2)
if (_flow == NULL) {
ciEnv* env = CURRENT_ENV;
_flow = new (env->arena()) ciTypeFlow(env, this);
_flow->do_flow();
}
return _flow;
! #else // COMPILER2
ShouldNotReachHere();
return NULL;
! #endif // COMPILER2
}
// ------------------------------------------------------------------
// ciMethod::get_osr_flow_analysis
ciTypeFlow* ciMethod::get_osr_flow_analysis(int osr_bci) {
! #if defined(COMPILER2)
// OSR entry points are always place after a call bytecode of some sort
assert(osr_bci >= 0, "must supply valid OSR entry point");
ciEnv* env = CURRENT_ENV;
ciTypeFlow* flow = new (env->arena()) ciTypeFlow(env, this, osr_bci);
flow->do_flow();
return flow;
! #else // COMPILER2
ShouldNotReachHere();
return NULL;
! #endif // COMPILER2
}
// ------------------------------------------------------------------
// ciMethod::raw_liveness_at_bci
//
< prev index next >