1 /* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef ART_COMPILER_LLVM_RUNTIME_SUPPORT_LLVM_FUNC_LIST_H_ 18 #define ART_COMPILER_LLVM_RUNTIME_SUPPORT_LLVM_FUNC_LIST_H_ 19 20 #define RUNTIME_SUPPORT_FUNC_LIST(V) \ 21 V(LockObject, art_portable_lock_object_from_code) \ 22 V(UnlockObject, art_portable_unlock_object_from_code) \ 23 V(GetCurrentThread, art_portable_get_current_thread_from_code) \ 24 V(SetCurrentThread, art_portable_set_current_thread_from_code) \ 25 V(PushShadowFrame, art_portable_push_shadow_frame_from_code) \ 26 V(PopShadowFrame, art_portable_pop_shadow_frame_from_code) \ 27 V(TestSuspend, art_portable_test_suspend_from_code) \ 28 V(ThrowException, art_portable_throw_exception_from_code) \ 29 V(ThrowStackOverflowException, art_portable_throw_stack_overflow_from_code) \ 30 V(ThrowNullPointerException, art_portable_throw_null_pointer_exception_from_code) \ 31 V(ThrowDivZeroException, art_portable_throw_div_zero_from_code) \ 32 V(ThrowIndexOutOfBounds, art_portable_throw_array_bounds_from_code) \ 33 V(InitializeTypeAndVerifyAccess, art_portable_initialize_type_and_verify_access_from_code) \ 34 V(InitializeType, art_portable_initialize_type_from_code) \ 35 V(IsAssignable, art_portable_is_assignable_from_code) \ 36 V(CheckCast, art_portable_check_cast_from_code) \ 37 V(CheckPutArrayElement, art_portable_check_put_array_element_from_code) \ 38 V(AllocObject, art_portable_alloc_object_from_code) \ 39 V(AllocObjectWithAccessCheck, art_portable_alloc_object_from_code_with_access_check) \ 40 V(AllocArray, art_portable_alloc_array_from_code) \ 41 V(AllocArrayWithAccessCheck, art_portable_alloc_array_from_code_with_access_check) \ 42 V(CheckAndAllocArray, art_portable_check_and_alloc_array_from_code) \ 43 V(CheckAndAllocArrayWithAccessCheck, art_portable_check_and_alloc_array_from_code_with_access_check) \ 44 V(FindStaticMethodWithAccessCheck, art_portable_find_static_method_from_code_with_access_check) \ 45 V(FindDirectMethodWithAccessCheck, art_portable_find_direct_method_from_code_with_access_check) \ 46 V(FindVirtualMethodWithAccessCheck, art_portable_find_virtual_method_from_code_with_access_check) \ 47 V(FindSuperMethodWithAccessCheck, art_portable_find_super_method_from_code_with_access_check) \ 48 V(FindInterfaceMethodWithAccessCheck, art_portable_find_interface_method_from_code_with_access_check) \ 49 V(FindInterfaceMethod, art_portable_find_interface_method_from_code) \ 50 V(ResolveString, art_portable_resolve_string_from_code) \ 51 V(Set32Static, art_portable_set32_static_from_code) \ 52 V(Set64Static, art_portable_set64_static_from_code) \ 53 V(SetObjectStatic, art_portable_set_obj_static_from_code) \ 54 V(Get32Static, art_portable_get32_static_from_code) \ 55 V(Get64Static, art_portable_get64_static_from_code) \ 56 V(GetObjectStatic, art_portable_get_obj_static_from_code) \ 57 V(Set32Instance, art_portable_set32_instance_from_code) \ 58 V(Set64Instance, art_portable_set64_instance_from_code) \ 59 V(SetObjectInstance, art_portable_set_obj_instance_from_code) \ 60 V(Get32Instance, art_portable_get32_instance_from_code) \ 61 V(Get64Instance, art_portable_get64_instance_from_code) \ 62 V(GetObjectInstance, art_portable_get_obj_instance_from_code) \ 63 V(InitializeStaticStorage, art_portable_initialize_static_storage_from_code) \ 64 V(FillArrayData, art_portable_fill_array_data_from_code) \ 65 V(GetAndClearException, art_portable_get_and_clear_exception) \ 66 V(IsExceptionPending, art_portable_is_exception_pending_from_code) \ 67 V(FindCatchBlock, art_portable_find_catch_block_from_code) \ 68 V(MarkGCCard, art_portable_mark_gc_card_from_code) \ 69 V(ProxyInvokeHandler, art_portable_proxy_invoke_handler_from_code) \ 70 V(art_d2l, art_d2l) \ 71 V(art_d2i, art_d2i) \ 72 V(art_f2l, art_f2l) \ 73 V(art_f2i, art_f2i) \ 74 V(JniMethodStart, art_portable_jni_method_start) \ 75 V(JniMethodStartSynchronized, art_portable_jni_method_start_synchronized) \ 76 V(JniMethodEnd, art_portable_jni_method_end) \ 77 V(JniMethodEndSynchronized, art_portable_jni_method_end_synchronized) \ 78 V(JniMethodEndWithReference, art_portable_jni_method_end_with_reference) \ 79 V(JniMethodEndWithReferenceSynchronized, art_portable_jni_method_end_with_reference_synchronized) 80 81 #endif // ART_COMPILER_LLVM_RUNTIME_SUPPORT_LLVM_FUNC_LIST_H_ 82