CACAO
Macros | Functions
builtin.cpp File Reference

Go to the source code of this file.

Macros

#define copysignf   copysign
 
#define finitef   finite
 
#define fmodf   fmod
 
#define isnanf   isnan
 
#define BUILTIN_NEWARRAY_TYPE(type, name)
 

Functions

static bool builtintable_init (void)
 
static int builtintable_comparator (const void *a, const void *b)
 
static void builtintable_sort_automatic (void)
 
bool builtin_init (void)
 
builtintable_entrybuiltintable_get_internal (functionptr fp)
 
builtintable_entrybuiltintable_get_automatic (s4 opcode)
 
bool builtintable_replace_function (void *iptr_)
 
bool builtin_instanceof (java_handle_t *o, classinfo *c)
 
bool builtin_checkcast (java_handle_t *o, classinfo *c)
 
bool builtin_fast_arraycheckcast (java_object_t *o, classinfo *targetclass)
 
bool builtin_fast_arrayinstanceof (java_object_t *o, classinfo *targetclass)
 
bool builtin_arrayinstanceof (java_handle_t *h, classinfo *targetclass)
 
voidbuiltin_throw_exception (java_object_t *xptr)
 
java_object_tbuiltin_retrieve_exception (void)
 
bool builtin_canstore (java_handle_objectarray_t *oa, java_handle_t *o)
 
bool builtin_fast_canstore (java_objectarray_t *oa, java_object_t *o)
 
bool builtin_fast_canstore_onedim (java_objectarray_t *a, java_object_t *o)
 
bool builtin_fast_canstore_onedim_class (java_objectarray_t *a, java_object_t *o)
 
java_handle_tbuiltin_new (classinfo *c)
 
java_handle_tbuiltin_java_new (java_handle_t *clazz)
 
java_object_tbuiltin_fast_new (classinfo *c)
 
java_handle_array_tbuiltin_java_newarray (int32_t size, java_handle_t *arrayclazz)
 
static java_handle_array_tbuiltin_multianewarray_intern (int n, classinfo *arrayclass, long *dims)
 
java_handle_objectarray_tbuiltin_multianewarray (int n, java_handle_t *arrayclazz, long *dims)
 
void builtin_verbosecall_exit (s8 l, double d, float f, methodinfo *m)
 
s4 builtin_idiv (s4 a, s4 b)
 
s4 builtin_irem (s4 a, s4 b)
 
s8 builtin_ladd (s8 a, s8 b)
 
s8 builtin_lsub (s8 a, s8 b)
 
s8 builtin_lneg (s8 a)
 
s8 builtin_lmul (s8 a, s8 b)
 
s8 builtin_ldiv (s8 a, s8 b)
 
s8 builtin_lrem (s8 a, s8 b)
 
s8 builtin_lshl (s8 a, s4 b)
 
s8 builtin_lshr (s8 a, s4 b)
 
s8 builtin_lushr (s8 a, s4 b)
 
s4 builtin_lcmp (s8 a, s8 b)
 
static float intBitsToFloat (s4 i)
 
static float longBitsToDouble (s8 l)
 
float builtin_fadd (float a, float b)
 
float builtin_fsub (float a, float b)
 
float builtin_fmul (float a, float b)
 
float builtin_fdiv (float a, float b)
 
float builtin_fneg (float a)
 
s4 builtin_fcmpl (float a, float b)
 
s4 builtin_fcmpg (float a, float b)
 
float builtin_frem (float a, float b)
 
double builtin_dadd (double a, double b)
 
double builtin_dsub (double a, double b)
 
double builtin_dmul (double a, double b)
 
double builtin_ddiv (double a, double b)
 
double builtin_dneg (double a)
 
s4 builtin_dcmpl (double a, double b)
 
s4 builtin_dcmpg (double a, double b)
 
double builtin_drem (double a, double b)
 
float builtin_i2f (s4 a)
 
double builtin_i2d (s4 a)
 
float builtin_l2f (s8 a)
 
double builtin_l2d (s8 a)
 
s4 builtin_f2i (float a)
 
s8 builtin_f2l (float a)
 
s4 builtin_d2i (double a)
 
s8 builtin_d2l (double a)
 
double builtin_f2d (float a)
 
float builtin_d2f (double a)
 
void builtin_arraycopy (java_handle_t *src, s4 srcStart, java_handle_t *dest, s4 destStart, s4 len)
 
s8 builtin_nanotime (void)
 
s8 builtin_currenttimemillis (void)
 
java_handle_tbuiltin_clone (void *env, java_handle_t *o)
 

Macro Definition Documentation

#define BUILTIN_NEWARRAY_TYPE (   type,
  name 
)
Value:
java_handle_##type##array_t *builtin_newarray_##type(int32_t size) \
{ \
return a.get_handle(); \
}
JNIEnv jclass jobject const char * name
Definition: jvmti.h:312
JNIEnv jthread jobject jclass jlong size
Definition: jvmti.h:387
#define return
This is a generic accessor class for Java arrays (of unspecified type), which can be used to safely o...
Definition: array.hpp:87

Definition at line 1064 of file builtin.cpp.

#define copysignf   copysign

Definition at line 87 of file builtin.cpp.

#define finitef   finite

Definition at line 88 of file builtin.cpp.

#define fmodf   fmod

Definition at line 89 of file builtin.cpp.

#define isnanf   isnan

Definition at line 90 of file builtin.cpp.

Function Documentation

void builtin_arraycopy ( java_handle_t src,
s4  srcStart,
java_handle_t dest,
s4  destStart,
s4  len 
)

Definition at line 1946 of file builtin.cpp.

bool builtin_arrayinstanceof ( java_handle_t h,
classinfo targetclass 
)

Definition at line 494 of file builtin.cpp.

bool builtin_canstore ( java_handle_objectarray_t oa,
java_handle_t o 
)

Definition at line 576 of file builtin.cpp.

bool builtin_checkcast ( java_handle_t o,
classinfo c 
)

Definition at line 426 of file builtin.cpp.

java_handle_t* builtin_clone ( void env,
java_handle_t o 
)

Definition at line 2081 of file builtin.cpp.

s8 builtin_currenttimemillis ( void  )

Definition at line 2063 of file builtin.cpp.

float builtin_d2f ( double  a)

Definition at line 1920 of file builtin.cpp.

s4 builtin_d2i ( double  a)

Definition at line 1865 of file builtin.cpp.

s8 builtin_d2l ( double  a)

Definition at line 1887 of file builtin.cpp.

double builtin_dadd ( double  a,
double  b 
)

Definition at line 1576 of file builtin.cpp.

s4 builtin_dcmpg ( double  a,
double  b 
)

Definition at line 1740 of file builtin.cpp.

s4 builtin_dcmpl ( double  a,
double  b 
)

Definition at line 1717 of file builtin.cpp.

double builtin_ddiv ( double  a,
double  b 
)

Definition at line 1629 of file builtin.cpp.

double builtin_dmul ( double  a,
double  b 
)

Definition at line 1600 of file builtin.cpp.

double builtin_dneg ( double  a)

Definition at line 1690 of file builtin.cpp.

double builtin_drem ( double  a,
double  b 
)

Definition at line 1764 of file builtin.cpp.

double builtin_dsub ( double  a,
double  b 
)

Definition at line 1594 of file builtin.cpp.

double builtin_f2d ( float  a)

Definition at line 1909 of file builtin.cpp.

s4 builtin_f2i ( float  a)

Definition at line 1809 of file builtin.cpp.

s8 builtin_f2l ( float  a)

Definition at line 1837 of file builtin.cpp.

float builtin_fadd ( float  a,
float  b 
)

Definition at line 1404 of file builtin.cpp.

bool builtin_fast_arraycheckcast ( java_object_t o,
classinfo targetclass 
)

Definition at line 457 of file builtin.cpp.

bool builtin_fast_arrayinstanceof ( java_object_t o,
classinfo targetclass 
)

Definition at line 479 of file builtin.cpp.

bool builtin_fast_canstore ( java_objectarray_t oa,
java_object_t o 
)

Definition at line 631 of file builtin.cpp.

bool builtin_fast_canstore_onedim ( java_objectarray_t a,
java_object_t o 
)

Definition at line 704 of file builtin.cpp.

bool builtin_fast_canstore_onedim_class ( java_objectarray_t a,
java_object_t o 
)

Definition at line 758 of file builtin.cpp.

java_object_t* builtin_fast_new ( classinfo c)

Definition at line 981 of file builtin.cpp.

s4 builtin_fcmpg ( float  a,
float  b 
)

Definition at line 1552 of file builtin.cpp.

s4 builtin_fcmpl ( float  a,
float  b 
)

Definition at line 1529 of file builtin.cpp.

float builtin_fdiv ( float  a,
float  b 
)

Definition at line 1462 of file builtin.cpp.

float builtin_fmul ( float  a,
float  b 
)

Definition at line 1433 of file builtin.cpp.

float builtin_fneg ( float  a)

Definition at line 1517 of file builtin.cpp.

float builtin_frem ( float  a,
float  b 
)

Definition at line 1567 of file builtin.cpp.

float builtin_fsub ( float  a,
float  b 
)

Definition at line 1427 of file builtin.cpp.

double builtin_i2d ( s4  a)

Definition at line 1782 of file builtin.cpp.

float builtin_i2f ( s4  a)

Definition at line 1773 of file builtin.cpp.

s4 builtin_idiv ( s4  a,
s4  b 
)

Definition at line 1243 of file builtin.cpp.

bool builtin_init ( void  )

Definition at line 251 of file builtin.cpp.

bool builtin_instanceof ( java_handle_t o,
classinfo c 
)

Definition at line 403 of file builtin.cpp.

s4 builtin_irem ( s4  a,
s4  b 
)

Definition at line 1252 of file builtin.cpp.

java_handle_t* builtin_java_new ( java_handle_t clazz)

Definition at line 963 of file builtin.cpp.

java_handle_array_t* builtin_java_newarray ( int32_t  size,
java_handle_t arrayclazz 
)

Definition at line 1037 of file builtin.cpp.

double builtin_l2d ( s8  a)

Definition at line 1800 of file builtin.cpp.

float builtin_l2f ( s8  a)

Definition at line 1791 of file builtin.cpp.

s8 builtin_ladd ( s8  a,
s8  b 
)

Definition at line 1271 of file builtin.cpp.

s4 builtin_lcmp ( s8  a,
s8  b 
)

Definition at line 1363 of file builtin.cpp.

s8 builtin_ldiv ( s8  a,
s8  b 
)

Definition at line 1313 of file builtin.cpp.

s8 builtin_lmul ( s8  a,
s8  b 
)

Definition at line 1301 of file builtin.cpp.

s8 builtin_lneg ( s8  a)

Definition at line 1289 of file builtin.cpp.

s8 builtin_lrem ( s8  a,
s8  b 
)

Definition at line 1322 of file builtin.cpp.

s8 builtin_lshl ( s8  a,
s4  b 
)

Definition at line 1334 of file builtin.cpp.

s8 builtin_lshr ( s8  a,
s4  b 
)

Definition at line 1343 of file builtin.cpp.

s8 builtin_lsub ( s8  a,
s8  b 
)

Definition at line 1280 of file builtin.cpp.

s8 builtin_lushr ( s8  a,
s4  b 
)

Definition at line 1352 of file builtin.cpp.

java_handle_objectarray_t* builtin_multianewarray ( int  n,
java_handle_t arrayclazz,
long *  dims 
)

Definition at line 1154 of file builtin.cpp.

static java_handle_array_t* builtin_multianewarray_intern ( int  n,
classinfo arrayclass,
long *  dims 
)
static

Definition at line 1096 of file builtin.cpp.

s8 builtin_nanotime ( void  )

Definition at line 2043 of file builtin.cpp.

java_handle_t* builtin_new ( classinfo c)

Definition at line 816 of file builtin.cpp.

java_object_t* builtin_retrieve_exception ( void  )

Definition at line 550 of file builtin.cpp.

void* builtin_throw_exception ( java_object_t xptr)

Definition at line 518 of file builtin.cpp.

void builtin_verbosecall_exit ( s8  l,
double  d,
float  f,
methodinfo m 
)

Definition at line 1224 of file builtin.cpp.

static int builtintable_comparator ( const void a,
const void b 
)
static

Definition at line 214 of file builtin.cpp.

builtintable_entry* builtintable_get_automatic ( s4  opcode)

Definition at line 295 of file builtin.cpp.

builtintable_entry* builtintable_get_internal ( functionptr  fp)

Definition at line 275 of file builtin.cpp.

static bool builtintable_init ( void  )
static

Definition at line 113 of file builtin.cpp.

bool builtintable_replace_function ( void iptr_)

Definition at line 333 of file builtin.cpp.

static void builtintable_sort_automatic ( void  )
static

Definition at line 232 of file builtin.cpp.

static float intBitsToFloat ( s4  i)
inlinestatic

Definition at line 1380 of file builtin.cpp.

static float longBitsToDouble ( s8  l)
inlinestatic

Definition at line 1393 of file builtin.cpp.