diff options
Diffstat (limited to 'vm/mterp/out/InterpC-armv4t.c')
-rw-r--r-- | vm/mterp/out/InterpC-armv4t.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/vm/mterp/out/InterpC-armv4t.c b/vm/mterp/out/InterpC-armv4t.c index 2f4b2e80a..80e87cf53 100644 --- a/vm/mterp/out/InterpC-armv4t.c +++ b/vm/mterp/out/InterpC-armv4t.c @@ -26,6 +26,7 @@ #include "interp/InterpDefs.h" #include "mterp/Mterp.h" #include <math.h> // needed for fmod, fmodf +#include "mterp/common/FindInterface.h" /* * Configuration defines. These affect the C implementations, i.e. the @@ -334,29 +335,21 @@ static inline void putDoubleToArray(u4* ptr, int idx, double dval) * If we're building without debug and profiling support, we never switch. */ #if defined(WITH_PROFILER) || defined(WITH_DEBUGGER) +#if defined(WITH_JIT) +# define NEED_INTERP_SWITCH(_current) ( \ + (_current == INTERP_STD) ? \ + dvmJitDebuggerOrProfilerActive(interpState->jitState) : \ + !dvmJitDebuggerOrProfilerActive(interpState->jitState) ) +#else # define NEED_INTERP_SWITCH(_current) ( \ (_current == INTERP_STD) ? \ dvmDebuggerOrProfilerActive() : !dvmDebuggerOrProfilerActive() ) +#endif #else # define NEED_INTERP_SWITCH(_current) (false) #endif /* - * Look up an interface on a class using the cache. - */ -INLINE Method* dvmFindInterfaceMethodInCache(ClassObject* thisClass, - u4 methodIdx, const Method* method, DvmDex* methodClassDex) -{ -#define ATOMIC_CACHE_CALC \ - dvmInterpFindInterfaceMethod(thisClass, methodIdx, method, methodClassDex) - - return (Method*) ATOMIC_CACHE_LOOKUP(methodClassDex->pInterfaceCache, - DEX_INTERFACE_CACHE_SIZE, thisClass, methodIdx); - -#undef ATOMIC_CACHE_CALC -} - -/* * Check to see if "obj" is NULL. If so, throw an exception. Assumes the * pc has already been exported to the stack. * @@ -420,7 +413,6 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) return true; } - /* File: cstubs/stubdefs.c */ /* this is a standard (no debug support) interpreter */ #define INTERP_TYPE INTERP_STD |