comparison src/cpu/sparc/vm/stubGenerator_sparc.cpp @ 642:660978a2a31a

6791178: Specialize for zero as the compressed oop vm heap base Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb. Reviewed-by: never, twisti, jcoomes, coleenp
author kvn
date Thu, 12 Mar 2009 10:37:46 -0700
parents 05db98ed59ba
children c517646eef23
comparison
equal deleted inserted replaced
641:6af0a709d52b 642:660978a2a31a
2940 StubRoutines::_atomic_cmpxchg_ptr_entry = StubRoutines::_atomic_cmpxchg_entry; 2940 StubRoutines::_atomic_cmpxchg_ptr_entry = StubRoutines::_atomic_cmpxchg_entry;
2941 StubRoutines::_atomic_cmpxchg_long_entry = generate_atomic_cmpxchg_long(); 2941 StubRoutines::_atomic_cmpxchg_long_entry = generate_atomic_cmpxchg_long();
2942 StubRoutines::_atomic_add_ptr_entry = StubRoutines::_atomic_add_entry; 2942 StubRoutines::_atomic_add_ptr_entry = StubRoutines::_atomic_add_entry;
2943 StubRoutines::_fence_entry = generate_fence(); 2943 StubRoutines::_fence_entry = generate_fence();
2944 #endif // COMPILER2 !=> _LP64 2944 #endif // COMPILER2 !=> _LP64
2945
2946 StubRoutines::Sparc::_partial_subtype_check = generate_partial_subtype_check();
2947 } 2945 }
2948 2946
2949 2947
2950 void generate_all() { 2948 void generate_all() {
2951 // Generates all stubs and initializes the entry points 2949 // Generates all stubs and initializes the entry points
2952 2950
2951 // Generate partial_subtype_check first here since its code depends on
2952 // UseZeroBaseCompressedOops which is defined after heap initialization.
2953 StubRoutines::Sparc::_partial_subtype_check = generate_partial_subtype_check();
2953 // These entry points require SharedInfo::stack0 to be set up in non-core builds 2954 // These entry points require SharedInfo::stack0 to be set up in non-core builds
2954 StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError), false); 2955 StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError), false);
2955 StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError), false); 2956 StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError), false);
2956 StubRoutines::_throw_ArithmeticException_entry = generate_throw_exception("ArithmeticException throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_ArithmeticException), true); 2957 StubRoutines::_throw_ArithmeticException_entry = generate_throw_exception("ArithmeticException throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_ArithmeticException), true);
2957 StubRoutines::_throw_NullPointerException_entry = generate_throw_exception("NullPointerException throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException), true); 2958 StubRoutines::_throw_NullPointerException_entry = generate_throw_exception("NullPointerException throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException), true);