< prev index next >

src/hotspot/share/interpreter/linkResolver.hpp

Print this page

285   static void resolve_invokehandle   (CallInfo& result,
286                                       const constantPoolHandle& pool, int index, TRAPS);
287  public:
288   // constant pool resolving
289   static void check_klass_accessibility(Klass* ref_klass, Klass* sel_klass, TRAPS);
290 
291   // static resolving calls (will not run any Java code);
292   // used only from Bytecode_invoke::static_target
293   static Method* resolve_method_statically(Bytecodes::Code code,
294                                            const constantPoolHandle& pool,
295                                            int index, TRAPS);
296 
297   static void resolve_continuation_enter(CallInfo& callinfo, TRAPS);
298 
299   static void resolve_field_access(fieldDescriptor& result,
300                                    const constantPoolHandle& pool,
301                                    int index,
302                                    const methodHandle& method,
303                                    Bytecodes::Code byte,
304                                    ClassInitMode mode, TRAPS);

305   static void resolve_field_access(fieldDescriptor& result,
306                                    const constantPoolHandle& pool,
307                                    int index,
308                                    const methodHandle& method,
309                                    Bytecodes::Code byte, TRAPS) {
310     resolve_field_access(result, pool, index, method, byte, ClassInitMode::init, THREAD);
311   }

312   static void resolve_field(fieldDescriptor& result, const LinkInfo& link_info,
313                             Bytecodes::Code access_kind,
314                             ClassInitMode mode, TRAPS);
315 
316   static void resolve_static_call   (CallInfo& result,
317                                      const LinkInfo& link_info,
318                                      ClassInitMode mode, TRAPS);
319   static void resolve_special_call  (CallInfo& result,
320                                      Handle recv,
321                                      const LinkInfo& link_info,
322                                      TRAPS);
323   static void resolve_virtual_call  (CallInfo& result, Handle recv, Klass* recv_klass,
324                                      const LinkInfo& link_info,
325                                      bool check_null_and_abstract, TRAPS);
326   static void resolve_interface_call(CallInfo& result, Handle recv, Klass* recv_klass,
327                                      const LinkInfo& link_info,
328                                      bool check_null_and_abstract, TRAPS);
329   static void resolve_handle_call   (CallInfo& result,
330                                      const LinkInfo& link_info, TRAPS);
331   static void resolve_dynamic_call  (CallInfo& result,

285   static void resolve_invokehandle   (CallInfo& result,
286                                       const constantPoolHandle& pool, int index, TRAPS);
287  public:
288   // constant pool resolving
289   static void check_klass_accessibility(Klass* ref_klass, Klass* sel_klass, TRAPS);
290 
291   // static resolving calls (will not run any Java code);
292   // used only from Bytecode_invoke::static_target
293   static Method* resolve_method_statically(Bytecodes::Code code,
294                                            const constantPoolHandle& pool,
295                                            int index, TRAPS);
296 
297   static void resolve_continuation_enter(CallInfo& callinfo, TRAPS);
298 
299   static void resolve_field_access(fieldDescriptor& result,
300                                    const constantPoolHandle& pool,
301                                    int index,
302                                    const methodHandle& method,
303                                    Bytecodes::Code byte,
304                                    ClassInitMode mode, TRAPS);
305 #if 0
306   static void resolve_field_access(fieldDescriptor& result,
307                                    const constantPoolHandle& pool,
308                                    int index,
309                                    const methodHandle& method,
310                                    Bytecodes::Code byte, TRAPS) {
311     resolve_field_access(result, pool, index, method, byte, ClassInitMode::init, THREAD);
312   }
313 #endif
314   static void resolve_field(fieldDescriptor& result, const LinkInfo& link_info,
315                             Bytecodes::Code access_kind,
316                             ClassInitMode mode, TRAPS);
317 
318   static void resolve_static_call   (CallInfo& result,
319                                      const LinkInfo& link_info,
320                                      ClassInitMode mode, TRAPS);
321   static void resolve_special_call  (CallInfo& result,
322                                      Handle recv,
323                                      const LinkInfo& link_info,
324                                      TRAPS);
325   static void resolve_virtual_call  (CallInfo& result, Handle recv, Klass* recv_klass,
326                                      const LinkInfo& link_info,
327                                      bool check_null_and_abstract, TRAPS);
328   static void resolve_interface_call(CallInfo& result, Handle recv, Klass* recv_klass,
329                                      const LinkInfo& link_info,
330                                      bool check_null_and_abstract, TRAPS);
331   static void resolve_handle_call   (CallInfo& result,
332                                      const LinkInfo& link_info, TRAPS);
333   static void resolve_dynamic_call  (CallInfo& result,
< prev index next >