40 VM_ENTRY_MARK; |
40 VM_ENTRY_MARK; |
41 Handle h(get_oop()); |
41 Handle h(get_oop()); |
42 methodHandle callee(_callee->get_methodOop()); |
42 methodHandle callee(_callee->get_methodOop()); |
43 // We catch all exceptions here that could happen in the method |
43 // We catch all exceptions here that could happen in the method |
44 // handle compiler and stop the VM. |
44 // handle compiler and stop the VM. |
45 MethodHandleCompiler mhc(h, callee, is_invokedynamic, CATCH); |
45 MethodHandleCompiler mhc(h, callee, is_invokedynamic, THREAD); |
46 methodHandle m = mhc.compile(CATCH); |
46 if (!HAS_PENDING_EXCEPTION) { |
47 return CURRENT_ENV->get_object(m())->as_method(); |
47 methodHandle m = mhc.compile(THREAD); |
|
48 if (!HAS_PENDING_EXCEPTION) { |
|
49 return CURRENT_ENV->get_object(m())->as_method(); |
|
50 } |
|
51 } |
|
52 if (PrintMiscellaneous && (Verbose || WizardMode)) { |
|
53 tty->print("*** ciMethodHandle::get_adapter => "); |
|
54 PENDING_EXCEPTION->print(); |
|
55 tty->print("*** get_adapter (%s): ", is_invokedynamic ? "indy" : "mh"); ((ciObject*)this)->print(); //@@ |
|
56 } |
|
57 CLEAR_PENDING_EXCEPTION; |
|
58 return NULL; |
48 } |
59 } |
49 |
60 |
50 |
61 |
51 // ------------------------------------------------------------------ |
62 // ------------------------------------------------------------------ |
52 // ciMethodHandle::print_impl |
63 // ciMethodHandle::print_impl |