vm/kite_opcodes.h File Reference

Go to the source code of this file.

Data Structures

struct  kite_opcode_t
struct  kite_opcode_arithop
struct  kite_opcode_push
struct  kite_opcode_list_cons
struct  kite_opcode_list_cons_0
struct  kite_opcode_list_cons_1
struct  kite_opcode_deref_1
struct  kite_opcode_deref_2
struct  kite_opcode_call
struct  kite_opcode_jump_true
struct  kite_opcode_jump_false
struct  kite_opcode_jump_unconditional
struct  kite_opcode_exception_hndl
struct  kite_opcode_pop_exception_hndl
struct  kite_opcode_dupe_top
struct  kite_opcode_make
struct  kite_opcode_objis
struct  kite_opcode_eval
struct  kite_opcode_nop
struct  kite_opcode_return
struct  kite_opcode_funcargs
struct  kite_opcode_defprop
struct  kite_opcode_this

Defines

#define OP_TO_STRING(x)   (OPERATOR_STRINGS[(x)])
#define OP_TO_METHOD(x)   (OPERATOR_METHODS[(x)])

Enumerations

enum  kite_opcodes {
  JUMP_TRUE = 0, JUMP_FALSE, JUMP_UNCOND, CALL,
  DEREF_1, DEREF_2, DUPE_TOP, EXCEPTION_HNDL,
  POP_EXCEPTION_HNDL, LIST_CONS, LIST_CONS_0, LIST_CONS_1,
  PUSH, ARITH_OP, FUNCARGS, MAKE_OBJ,
  EVAL_OBJ, IS_ISOF, NOP, DEFPROP,
  PUSH_THIS, RETURN_NOW, NUM_OPCODES, TEMP_BREAK,
  TEMP_CONTINUE
}
enum  kite_operators {
  OP_ADD = 0, OP_SUBTRACT, OP_MULTIPLY, OP_DIVIDE,
  OP_MODULUS, OP_UNARY_PLUS, OP_UNARY_MINUS, OP_ASSIGNMENT,
  OP_EQUALS, OP_NOT_EQUALS, OP_LESS_THAN, OP_GREATER_THAN,
  OP_LESS_OR_EQUALS, OP_GREATER_OR_EQUALS, OP_AND, OP_OR,
  OP_NOT, OP_XOR, OP_LEFT_SHIFT, OP_RIGHT_SHIFT,
  OP_MAP, OP_REDUCE, OP_ARRAY_DEREF, OP_METHOD_CALL,
  OP_PROPERTY, NUM_OPERATORS
}

Functions

kite_opcode_tkite_compile_arithop (unsigned int)
kite_opcode_tkite_compile_push (struct kite_object_t *)
kite_opcode_tkite_compile_list_cons ()
kite_opcode_tkite_compile_list_cons_0 ()
kite_opcode_tkite_compile_list_cons_1 ()
kite_opcode_tkite_compile_deref_1 (int create)
kite_opcode_tkite_compile_deref_2 ()
kite_opcode_tkite_compile_call ()
kite_opcode_tkite_compile_jump_true (kite_opcode_t *)
kite_opcode_tkite_compile_jump_false (kite_opcode_t *)
kite_opcode_tkite_compile_jump_uncond (kite_opcode_t *)
kite_opcode_tkite_compile_exception_hndl (kite_opcode_t *)
kite_opcode_tkite_compile_pop_exception_hndl ()
kite_opcode_tkite_compile_dupe_top (int dupe_ref)
kite_opcode_tkite_compile_funcargs (struct kite_object_t *)
kite_opcode_tkite_compile_make ()
kite_opcode_tkite_compile_eval ()
kite_opcode_tkite_compile_nop ()
kite_opcode_tkite_compile_return ()
kite_opcode_tkite_compile_objis (int isof)
kite_opcode_tkite_compile_defprop ()
kite_opcode_tkite_compile_this ()
kite_opcode_tkite_add_to_instruction_list (kite_opcode_t **, kite_opcode_t *)
void kite_free_instruction_list (struct kite_thread_t *, kite_opcode_t *)
kite_opcode_tkite_copy_instruction_list (struct kite_thread_t *, kite_opcode_t *)

Variables

char * OPERATOR_STRINGS []
char * OPERATOR_METHODS []


Define Documentation

#define OP_TO_METHOD (  )     (OPERATOR_METHODS[(x)])

#define OP_TO_STRING (  )     (OPERATOR_STRINGS[(x)])

Referenced by kite_vm_call_operator().


Enumeration Type Documentation

Enumerator:
JUMP_TRUE 
JUMP_FALSE 
JUMP_UNCOND 
CALL 
DEREF_1 
DEREF_2 
DUPE_TOP 
EXCEPTION_HNDL 
POP_EXCEPTION_HNDL 
LIST_CONS 
LIST_CONS_0 
LIST_CONS_1 
PUSH 
ARITH_OP 
FUNCARGS 
MAKE_OBJ 
EVAL_OBJ 
IS_ISOF 
NOP 
DEFPROP 
PUSH_THIS 
RETURN_NOW 
NUM_OPCODES 
TEMP_BREAK 
TEMP_CONTINUE 

Enumerator:
OP_ADD 
OP_SUBTRACT 
OP_MULTIPLY 
OP_DIVIDE 
OP_MODULUS 
OP_UNARY_PLUS 
OP_UNARY_MINUS 
OP_ASSIGNMENT 
OP_EQUALS 
OP_NOT_EQUALS 
OP_LESS_THAN 
OP_GREATER_THAN 
OP_LESS_OR_EQUALS 
OP_GREATER_OR_EQUALS 
OP_AND 
OP_OR 
OP_NOT 
OP_XOR 
OP_LEFT_SHIFT 
OP_RIGHT_SHIFT 
OP_MAP 
OP_REDUCE 
OP_ARRAY_DEREF 
OP_METHOD_CALL 
OP_PROPERTY 
NUM_OPERATORS 


Function Documentation

kite_opcode_t* kite_add_to_instruction_list ( kite_opcode_t **  ,
kite_opcode_t  
)

References kite_opcode_t::next.

kite_opcode_t* kite_compile_arithop ( unsigned  int  ) 

kite_opcode_t* kite_compile_call (  ) 

kite_opcode_t* kite_compile_defprop (  ) 

kite_opcode_t* kite_compile_deref_1 ( int  create  ) 

kite_opcode_t* kite_compile_deref_2 (  ) 

kite_opcode_t* kite_compile_dupe_top ( int  dupe_ref  ) 

kite_opcode_t* kite_compile_eval (  ) 

kite_opcode_t* kite_compile_exception_hndl ( kite_opcode_t  ) 

kite_opcode_t* kite_compile_funcargs ( struct kite_object_t  ) 

kite_opcode_t* kite_compile_jump_false ( kite_opcode_t  ) 

kite_opcode_t* kite_compile_jump_true ( kite_opcode_t  ) 

kite_opcode_t* kite_compile_jump_uncond ( kite_opcode_t  ) 

kite_opcode_t* kite_compile_list_cons (  ) 

kite_opcode_t* kite_compile_list_cons_0 (  ) 

kite_opcode_t* kite_compile_list_cons_1 (  ) 

kite_opcode_t* kite_compile_make (  ) 

kite_opcode_t* kite_compile_nop (  ) 

kite_opcode_t* kite_compile_objis ( int  isof  ) 

kite_opcode_t* kite_compile_pop_exception_hndl (  ) 

kite_opcode_t* kite_compile_push ( struct kite_object_t  ) 

kite_opcode_t* kite_compile_return (  ) 

kite_opcode_t* kite_compile_this (  ) 

kite_opcode_t* kite_copy_instruction_list ( struct kite_thread_t ,
kite_opcode_t  
)

void kite_free_instruction_list ( struct kite_thread_t ,
kite_opcode_t  
)


Variable Documentation


Generated on Sun Feb 8 19:42:48 2009 for Kite by  doxygen 1.5.6