comparison src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 5111:422c979ff392

fixed two cases where DeoptAction was invalid
author Christian Haeubl <christian.haeubl@oracle.com>
date Thu, 15 Mar 2012 16:34:31 -0700
parents 6766253384bf
children 957c266d8bc5
comparison
equal deleted inserted replaced
5110:0ebca2e35ca5 5111:422c979ff392
3013 #endif 3013 #endif
3014 3014
3015 #ifdef GRAAL 3015 #ifdef GRAAL
3016 __ jmp(cont); 3016 __ jmp(cont);
3017 3017
3018 int jmp_uncommon_trap_offset = __ pc() - start; 3018 int implicit_exception_uncommon_trap_offset = __ pc() - start;
3019 __ pushptr(Address(r15_thread, in_bytes(JavaThread::ScratchA_offset()))); 3019 __ pushptr(Address(r15_thread, in_bytes(JavaThread::ScratchA_offset())));
3020 __ movptr(rscratch1, 2); // InvalidateRecompile 3020 __ movptr(rscratch1, Address(r15_thread, in_bytes(JavaThread::ScratchB_offset())));
3021 3021
3022 int uncommon_trap_offset = __ pc() - start; 3022 int uncommon_trap_offset = __ pc() - start;
3023 3023
3024 // Save everything in sight. 3024 // Save everything in sight.
3025 RegisterSaver::save_live_registers(masm, 0, &frame_size_in_words); 3025 RegisterSaver::save_live_registers(masm, 0, &frame_size_in_words);
3242 3242
3243 _deopt_blob = DeoptimizationBlob::create(&buffer, oop_maps, 0, exception_offset, reexecute_offset, frame_size_in_words); 3243 _deopt_blob = DeoptimizationBlob::create(&buffer, oop_maps, 0, exception_offset, reexecute_offset, frame_size_in_words);
3244 _deopt_blob->set_unpack_with_exception_in_tls_offset(exception_in_tls_offset); 3244 _deopt_blob->set_unpack_with_exception_in_tls_offset(exception_in_tls_offset);
3245 #ifdef GRAAL 3245 #ifdef GRAAL
3246 _deopt_blob->set_uncommon_trap_offset(uncommon_trap_offset); 3246 _deopt_blob->set_uncommon_trap_offset(uncommon_trap_offset);
3247 _deopt_blob->set_jmp_uncommon_trap_offset(jmp_uncommon_trap_offset); 3247 _deopt_blob->set_implicit_exception_uncommon_trap_offset(implicit_exception_uncommon_trap_offset);
3248 #endif 3248 #endif
3249 } 3249 }
3250 3250
3251 #ifdef COMPILER2 3251 #ifdef COMPILER2
3252 //------------------------------generate_uncommon_trap_blob-------------------- 3252 //------------------------------generate_uncommon_trap_blob--------------------