vm/include/jit_runtime_support.h (24 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file * @brief Declaration of access interfaces to runtime helpers provided by VM. */ #ifndef _JIT_RUNTIME_SUPPORT_H_ #define _JIT_RUNTIME_SUPPORT_H_ #include "open/types.h" #include "open/rt_helpers.h" #include "jni_types.h" #define _DEBUG_CHECK_NULL_ #ifdef __cplusplus extern "C" { #endif DECLARE_OPEN(void *, vm_helper_get_addr, (VM_RT_SUPPORT f)); /** * Temporary interface addition * same as <code>vm_helper_get_addr</code>, but tries to optimize the stubs it creates, * by specializing them. */ DECLARE_OPEN(void *, vm_helper_get_addr_optimized, (VM_RT_SUPPORT f, Class_Handle c)); /** * Checks if helper is a suspension point */ DECLARE_OPEN(HELPER_INTERRUPTIBILITY_KIND, vm_helper_get_interruptibility_kind, (VM_RT_SUPPORT f)); DECLARE_OPEN(HELPER_CALLING_CONVENTION, vm_helper_get_calling_convention, (VM_RT_SUPPORT f)); DECLARE_OPEN(const char*, vm_helper_get_name, (VM_RT_SUPPORT id)); /** * Returns number of helper arguments. * Intended primarily for debugging. */ DECLARE_OPEN(U_32, vm_helper_get_numargs, (VM_RT_SUPPORT id)); /** * Returns Id of runtime helper by its string representation. * Name comparison is case-insensitive. * If the helperName is unknown, then VM_RT_UNKNOWN is returned. */ DECLARE_OPEN(VM_RT_SUPPORT, vm_helper_get_by_name, (const char* name)); DECLARE_OPEN(jint, vm_helper_register_magic_helper, (VM_RT_SUPPORT id, const char* class_name, const char* method_name)); DECLARE_OPEN(Method_Handle, vm_helper_get_magic_helper, (VM_RT_SUPPORT id)); #ifdef __cplusplus } #endif // __cplusplus #endif // !_JIT_RUNTIME_SUPPORT_H_