Mercurial > hg > truffle
comparison src/cpu/x86/vm/interp_masm_x86_32.cpp @ 3808:341a57af9b0a
6990212: JSR 292 JVMTI MethodEnter hook is not called for JSR 292 bootstrap and target methods
Summary: check for single stepping when dispatching invokes from method handles
Reviewed-by: coleenp, twisti, kvn, dsamersoff
author | never |
---|---|
date | Fri, 15 Jul 2011 15:35:50 -0700 |
parents | 2e038ad0c1d0 |
children | fdb992d83a87 |
comparison
equal
deleted
inserted
replaced
3807:3fbb609d9e96 | 3808:341a57af9b0a |
---|---|
401 // JVMTI events, such as single-stepping, are implemented partly by avoiding running | 401 // JVMTI events, such as single-stepping, are implemented partly by avoiding running |
402 // compiled code in threads for which the event is enabled. Check here for | 402 // compiled code in threads for which the event is enabled. Check here for |
403 // interp_only_mode if these events CAN be enabled. | 403 // interp_only_mode if these events CAN be enabled. |
404 get_thread(temp); | 404 get_thread(temp); |
405 // interp_only is an int, on little endian it is sufficient to test the byte only | 405 // interp_only is an int, on little endian it is sufficient to test the byte only |
406 // Is a cmpl faster (ce | 406 // Is a cmpl faster? |
407 cmpb(Address(temp, JavaThread::interp_only_mode_offset()), 0); | 407 cmpb(Address(temp, JavaThread::interp_only_mode_offset()), 0); |
408 jcc(Assembler::zero, run_compiled_code); | 408 jccb(Assembler::zero, run_compiled_code); |
409 jmp(Address(method, methodOopDesc::interpreter_entry_offset())); | 409 jmp(Address(method, methodOopDesc::interpreter_entry_offset())); |
410 bind(run_compiled_code); | 410 bind(run_compiled_code); |
411 } | 411 } |
412 | 412 |
413 jmp(Address(method, methodOopDesc::from_interpreted_offset())); | 413 jmp(Address(method, methodOopDesc::from_interpreted_offset())); |