Home | History | Annotate | Download | only in llvm
      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