ART Method Execution

时间:2024-03-19 07:48:08

ART Method Execution:


ART Method Execution


1.entry_point_from_quick_compiled_code_

   其作为一个ArtMethod对象的成员,

   1.1 一般情况下指向这个函数对应的 quick code的起始地址,而当quick code不存在时,它的值则会代表其他的意义;

   1.2 当一个 java 函数不存在 quick code时,它的值是函数 artQuickToInterpreterBridge 的地址,用以从 quick 模式切换到 Interpreter 模式来解释执行 java 函数代码;

   1.3 当一个 java native(JNI)函数不存在 quick code时,它的值是函数 art_quick_generic_jni_trampoline 的地址,用以执行没有quick code的 jni 函数;


2.art_quick_generic_jni_trampoline

   这个入口基本不使用,因为一般情况下 Interpreter-only / speed 模式编译 dex 文件生成 oat文件,都会对 JNI 函数编译生成 quick code;