Mercurial > hg > truffle
comparison src/share/vm/runtime/sharedRuntime.cpp @ 612:afa80fa86d22
Merge
author | dcubed |
---|---|
date | Mon, 02 Mar 2009 14:43:36 -0700 |
parents | 6d8fc951eb25 70998f2e05ef |
children | 7bb995fbd3c0 |
comparison
equal
deleted
inserted
replaced
593:1b68c738c0d9 | 612:afa80fa86d22 |
---|---|
374 | 374 |
375 void SharedRuntime::throw_and_post_jvmti_exception(JavaThread *thread, symbolOop name, const char *message) { | 375 void SharedRuntime::throw_and_post_jvmti_exception(JavaThread *thread, symbolOop name, const char *message) { |
376 Handle h_exception = Exceptions::new_exception(thread, name, message); | 376 Handle h_exception = Exceptions::new_exception(thread, name, message); |
377 throw_and_post_jvmti_exception(thread, h_exception); | 377 throw_and_post_jvmti_exception(thread, h_exception); |
378 } | 378 } |
379 | |
380 // The interpreter code to call this tracing function is only | |
381 // called/generated when TraceRedefineClasses has the right bits | |
382 // set. Since obsolete methods are never compiled, we don't have | |
383 // to modify the compilers to generate calls to this function. | |
384 // | |
385 JRT_LEAF(int, SharedRuntime::rc_trace_method_entry( | |
386 JavaThread* thread, methodOopDesc* method)) | |
387 assert(RC_TRACE_IN_RANGE(0x00001000, 0x00002000), "wrong call"); | |
388 | |
389 if (method->is_obsolete()) { | |
390 // We are calling an obsolete method, but this is not necessarily | |
391 // an error. Our method could have been redefined just after we | |
392 // fetched the methodOop from the constant pool. | |
393 | |
394 // RC_TRACE macro has an embedded ResourceMark | |
395 RC_TRACE_WITH_THREAD(0x00001000, thread, | |
396 ("calling obsolete method '%s'", | |
397 method->name_and_sig_as_C_string())); | |
398 if (RC_TRACE_ENABLED(0x00002000)) { | |
399 // this option is provided to debug calls to obsolete methods | |
400 guarantee(false, "faulting at call to an obsolete method."); | |
401 } | |
402 } | |
403 return 0; | |
404 JRT_END | |
379 | 405 |
380 // ret_pc points into caller; we are returning caller's exception handler | 406 // ret_pc points into caller; we are returning caller's exception handler |
381 // for given exception | 407 // for given exception |
382 address SharedRuntime::compute_compiled_exc_handler(nmethod* nm, address ret_pc, Handle& exception, | 408 address SharedRuntime::compute_compiled_exc_handler(nmethod* nm, address ret_pc, Handle& exception, |
383 bool force_unwind, bool top_frame_only) { | 409 bool force_unwind, bool top_frame_only) { |