10c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen/*
20c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * Copyright (C) 2012 The Android Open Source Project
30c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen *
40c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * Licensed under the Apache License, Version 2.0 (the "License");
50c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * you may not use this file except in compliance with the License.
60c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * You may obtain a copy of the License at
70c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen *
80c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen *      http://www.apache.org/licenses/LICENSE-2.0
90c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen *
100c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * Unless required by applicable law or agreed to in writing, software
110c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * distributed under the License is distributed on an "AS IS" BASIS,
120c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * See the License for the specific language governing permissions and
140c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen * limitations under the License.
150c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen */
160c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen
170c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen
180c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen
190c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen#ifndef _DALVIK_NCG_AOT
200c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen#define _DALVIK_NCG_AOT
210c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint ncgAppGetEIP();
220c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint get_eip_API();
230c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint invokeInterpreter(bool fromApp);
240c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint invokeNcg(bool fromApp);
250c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint jumpToInterpNoChain();
260c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint jumpToInterpPunt();
270c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint jumpToExceptionThrown(int exceptionNum);
280c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenvoid callFuncPtr(int funcPtr, const char* funcName);
290c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint call_helper_API(const char* helperName);
300c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint conditional_jump_global_API(
310c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                                ConditionCode cc, const char* target,
320c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                                bool isShortTerm);
330c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint unconditional_jump_global_API(
340c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                                  const char* target, bool isShortTerm);
350c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint load_imm_global_data_API(const char* dataName,
360c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                             OpndSize size,
370c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                             int reg, bool isPhysical);
380c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint load_global_data_API(const char* dataName,
390c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                         OpndSize size,
400c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                         int reg, bool isPhysical);
410c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint load_sd_global_data_API(const char* dataName,
420c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                            int reg, bool isPhysical);
430c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chenint load_fp_stack_global_data_API(const char* dataName,
440c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen                                  OpndSize size);
450c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen#endif
460c2dc522d0e120f346cf0a40c8cf0c93346131c2Dong-Yuan Chen
47