CACAO
Data Structures | Macros | Typedefs | Functions
typecheck-common.hpp File Reference

Go to the source code of this file.

Data Structures

struct  typecheck_jsr_caller_t
 
struct  typecheck_jsr_t
 
struct  verifier_state
 

Macros

#define TYPECHECK_ASSERT(cond)   assert(cond)
 
#define DOLOG(action)
 
#define OLD_LOG(str)
 
#define OLD_LOG1(str, a)
 
#define OLD_LOG2(str, a, b)
 
#define OLD_LOG3(str, a, b, c)
 
#define OLD_LOGIF(cond, str)
 
#define OLD_LOGINFO(info)
 
#define OLD_LOGFLUSH
 
#define OLD_LOGNL
 
#define OLD_LOGSTR(str)
 
#define OLD_LOGSTR1(str, a)
 
#define OLD_LOGSTR2(str, a, b)
 
#define OLD_LOGSTR3(str, a, b, c)
 
#define OLD_LOGNAME(c)
 
#define OLD_LOGMETHOD(str, m)
 
#define OLD_LOGimp(str)
 
#define OLD_LOGimpSTR(str)
 
#define TYPECHECK_COUNT(cnt)
 
#define TYPECHECK_MARK(var)
 
#define TYPECHECK_COUNTIF(cond, cnt)
 
#define TYPECHECK_COUNT_FREQ(array, val, limit)
 
#define TYPECHECK_VERIFYERROR_ret(m, msg, retval)
 
#define TYPECHECK_VERIFYERROR_main(msg)   TYPECHECK_VERIFYERROR_ret(state.m,(msg),NULL)
 
#define TYPECHECK_VERIFYERROR_bool(msg)   TYPECHECK_VERIFYERROR_ret(state->m,(msg),false)
 
#define COPYTYPE(source, dest)
 

Typedefs

typedef struct typecheck_jsr_t typecheck_jsr_t
 
typedef struct
typecheck_jsr_caller_t 
typecheck_jsr_caller_t
 
typedef struct verifier_state verifier_state
 

Functions

void typecheck_init_state (verifier_state *state, basicblock::State minstate)
 
void typecheck_reset_state (verifier_state *state)
 
bool typecheck_copy_types (verifier_state *state, s4 *srcvars, s4 *dstvars, s4 n)
 
typecheck_result typecheck_merge_types (verifier_state *state, s4 *srcvars, s4 *dstvars, s4 n)
 
typecheck_result typestate_merge (verifier_state *state, s4 *srcvars, varinfo *srclocals, s4 *dstvars, varinfo *dstlocals, s4 n)
 
bool typestate_reach (verifier_state *state, basicblock *destblock, s4 *srcvars, varinfo *srclocals, s4 n)
 
bool typecheck_init_locals (verifier_state *state, bool newthis)
 

Macro Definition Documentation

#define COPYTYPE (   source,
  dest 
)
Value:
{if (VAROP(source)->type == TYPE_ADR) { \
VAROP(dest)->typeinfo = VAROP(source)->typeinfo;}}
#define VAROP(v)
Definition: jit.hpp:251

Definition at line 195 of file typecheck-common.hpp.

#define DOLOG (   action)

Definition at line 54 of file typecheck-common.hpp.

#define OLD_LOG (   str)

Definition at line 79 of file typecheck-common.hpp.

#define OLD_LOG1 (   str,
 
)

Definition at line 80 of file typecheck-common.hpp.

#define OLD_LOG2 (   str,
  a,
 
)

Definition at line 81 of file typecheck-common.hpp.

#define OLD_LOG3 (   str,
  a,
  b,
 
)

Definition at line 82 of file typecheck-common.hpp.

#define OLD_LOGFLUSH

Definition at line 85 of file typecheck-common.hpp.

#define OLD_LOGIF (   cond,
  str 
)

Definition at line 83 of file typecheck-common.hpp.

#define OLD_LOGimp (   str)

Definition at line 99 of file typecheck-common.hpp.

#define OLD_LOGimpSTR (   str)

Definition at line 100 of file typecheck-common.hpp.

#define OLD_LOGINFO (   info)

Definition at line 84 of file typecheck-common.hpp.

#define OLD_LOGMETHOD (   str,
 
)

Definition at line 92 of file typecheck-common.hpp.

#define OLD_LOGNAME (   c)

Definition at line 91 of file typecheck-common.hpp.

#define OLD_LOGNL

Definition at line 86 of file typecheck-common.hpp.

#define OLD_LOGSTR (   str)

Definition at line 87 of file typecheck-common.hpp.

#define OLD_LOGSTR1 (   str,
 
)

Definition at line 88 of file typecheck-common.hpp.

#define OLD_LOGSTR2 (   str,
  a,
 
)

Definition at line 89 of file typecheck-common.hpp.

#define OLD_LOGSTR3 (   str,
  a,
  b,
 
)

Definition at line 90 of file typecheck-common.hpp.

#define TYPECHECK_ASSERT (   cond)    assert(cond)

Definition at line 45 of file typecheck-common.hpp.

#define TYPECHECK_COUNT (   cnt)

Definition at line 169 of file typecheck-common.hpp.

#define TYPECHECK_COUNT_FREQ (   array,
  val,
  limit 
)

Definition at line 172 of file typecheck-common.hpp.

#define TYPECHECK_COUNTIF (   cond,
  cnt 
)

Definition at line 171 of file typecheck-common.hpp.

#define TYPECHECK_MARK (   var)

Definition at line 170 of file typecheck-common.hpp.

#define TYPECHECK_VERIFYERROR_bool (   msg)    TYPECHECK_VERIFYERROR_ret(state->m,(msg),false)

Definition at line 188 of file typecheck-common.hpp.

#define TYPECHECK_VERIFYERROR_main (   msg)    TYPECHECK_VERIFYERROR_ret(state.m,(msg),NULL)

Definition at line 187 of file typecheck-common.hpp.

#define TYPECHECK_VERIFYERROR_ret (   m,
  msg,
  retval 
)
Value:
do { \
return (retval); \
} while (0)
void exceptions_throw_verifyerror(methodinfo *m, const char *message,...)
Definition: exceptions.cpp:973
#define return

Definition at line 181 of file typecheck-common.hpp.

Typedef Documentation

Definition at line 205 of file typecheck-common.hpp.

Definition at line 204 of file typecheck-common.hpp.

Function Documentation

bool typecheck_copy_types ( verifier_state state,
s4 srcvars,
s4 dstvars,
s4  n 
)

Definition at line 271 of file typecheck-common.cpp.

bool typecheck_init_locals ( verifier_state state,
bool  newthis 
)

Definition at line 483 of file typecheck-common.cpp.

void typecheck_init_state ( verifier_state state,
basicblock::State  minstate 
)

Definition at line 173 of file typecheck-common.cpp.

typecheck_result typecheck_merge_types ( verifier_state state,
s4 srcvars,
s4 dstvars,
s4  n 
)

Definition at line 308 of file typecheck-common.cpp.

void typecheck_reset_state ( verifier_state state)

Definition at line 213 of file typecheck-common.cpp.

typecheck_result typestate_merge ( verifier_state state,
s4 srcvars,
varinfo srclocals,
s4 dstvars,
varinfo dstlocals,
s4  n 
)

Definition at line 372 of file typecheck-common.cpp.

bool typestate_reach ( verifier_state state,
basicblock destblock,
s4 srcvars,
varinfo srclocals,
s4  n 
)

Definition at line 418 of file typecheck-common.cpp.