comparison src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 4673:8021e46f4a99

another fix for resolving the issue with biased monitor and deoptimization
author Christian Haeubl <christian.haeubl@oracle.com>
date Wed, 22 Feb 2012 16:53:23 -0800
parents 9ae5048b9153
children 74c0b866fe8d
comparison
equal deleted inserted replaced
4672:7167f487cc31 4673:8021e46f4a99
2701 __ stop("SharedRuntime::generate_deopt_blob: last_Java_fp not cleared"); 2701 __ stop("SharedRuntime::generate_deopt_blob: last_Java_fp not cleared");
2702 __ bind(L); 2702 __ bind(L);
2703 } 2703 }
2704 #endif // ASSERT 2704 #endif // ASSERT
2705 2705
2706 __ movl(c_rarg1, (int32_t)(Deoptimization::make_trap_request(Deoptimization::Reason_unreached, Deoptimization::Action_none)));
2707 __ mov(c_rarg0, r15_thread); 2706 __ mov(c_rarg0, r15_thread);
2708 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::uncommon_trap))); 2707 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info)));
2709 oop_maps->add_gc_map( __ pc()-start, map->deep_copy());
2710
2711 //__ reset_last_Java_frame(false, false);
2712 //__ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info)));
2713 2708
2714 // Need to have an oopmap that tells fetch_unroll_info where to 2709 // Need to have an oopmap that tells fetch_unroll_info where to
2715 // find any register it might need. 2710 // find any register it might need.
2716 // oop_maps->add_gc_map(__ pc() - start, map); 2711 oop_maps->add_gc_map(__ pc() - start, map);
2717 2712
2718 __ reset_last_Java_frame(false, false); 2713 __ reset_last_Java_frame(false, false);
2719 2714
2720 __ bind(after_fetch_unroll_info_call); 2715 __ bind(after_fetch_unroll_info_call);
2721 2716