methodHandle* method, JavaCallArguments* args, TRAPS

mangcubwwd發表於2022-05-04
All calls to Java have to go via JavaCalls. Sets up the stack frame
// and makes sure that the last_Java_frame pointers are chained correctly.
 
class    JavaCalls: AllStatic {
     static    void    call_helper(JavaValue* result, methodHandle* method, JavaCallArguments* args, TRAPS);
    public   :
     // Optimized Constuctor call
     static    void    call_default_constructor(JavaThread* thread, methodHandle method, Handle receiver, TRAPS);
 
     // call_special
     // ------------
     // The receiver must be first oop in argument list
     // receiver表示方法的接收者,如A.main()呼叫中,A就是方法的接收者
     static    void    call_special(JavaValue* result, KlassHandle klass, Symbol* name,Symbol* signature, JavaCallArguments* args, TRAPS);
 
     static    void    call_special(JavaValue* result, Handle receiver, KlassHandle klass,Symbol* name, Symbol* signature, TRAPS);    // No args
     static    void    call_special(JavaValue* result, Handle receiver, KlassHandle klass,Symbol* name, Symbol* signature, Handle arg1, TRAPS);
     static    void    call_special(JavaValue* result, Handle receiver, KlassHandle klass,Symbol* name, Symbol* signatur


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69929371/viewspace-2890686/,如需轉載,請註明出處,否則將追究法律責任。

相關文章