lightspark::ABCVm Class Reference

#include <abc.h>

Collaboration diagram for lightspark::ABCVm:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ABCVm (SystemState *s) DLL_PUBLIC
 ~ABCVm ()
bool addEvent (EventDispatcher *, Event *) DLL_PUBLIC
 enqueue an event, a reference is acquired *
int getEventQueueSize ()
void shutdown ()
void wait ()
void pushObjAndLevel (ASObject *o, int l)
thisAndLevel popObjAndLevel ()
thisAndLevel getCurObjAndLevel ()

Static Public Member Functions

static void Run (ABCVm *th)
static ASObjectexecuteFunction (SyntheticFunction *function, call_context *context)
static bool strictEqualImpl (ASObject *, ASObject *)

Public Attributes

GlobalObjectGlobal
Managerint_manager
Managernumber_manager
llvm::ExecutionEngine * ex
llvm::FunctionPassManager * FPM
llvm::LLVMContext llvm_context

Private Member Functions

void registerClasses ()
void registerFunctions ()
void register_table (const llvm::Type *ret_type, typed_opcode_handler *table, int table_len)
void handleEvent (std::pair< EventDispatcher *, Event * > e)
void buildClassAndInjectBase (const std::string &n, ASObject *, ASObject *const *a, const unsigned int argslen, bool isRoot)

Static Private Member Functions

static bool hasNext2 (call_context *th, int n, int m)
static void callPropVoid (call_context *th, int n, int m)
static void callSuperVoid (call_context *th, int n, int m)
static void callSuper (call_context *th, int n, int m)
static void callProperty (call_context *th, int n, int m)
static void constructProp (call_context *th, int n, int m)
static void setLocal (int n)
static void setLocal_int (int n, int v)
static void setLocal_obj (int n, ASObject *v)
static void getLocal (ASObject *o, int n)
static void getLocal_short (int n)
static void getLocal_int (int n, int v)
static void newObject (call_context *th, int n)
static void getDescendants (call_context *th, int n)
static ASObjectnewCatch (call_context *th, int n)
static void jump (int offset)
static bool ifEq (ASObject *, ASObject *)
static bool ifStrictEq (ASObject *, ASObject *)
static bool ifNE (ASObject *, ASObject *)
static bool ifNE_oi (ASObject *, intptr_t)
static bool ifLT (ASObject *, ASObject *)
static bool ifGT (ASObject *, ASObject *)
static bool ifLE (ASObject *, ASObject *)
static bool ifLT_oi (ASObject *, intptr_t)
static bool ifLT_io (intptr_t, ASObject *)
static bool ifNLT (ASObject *, ASObject *)
static bool ifNGT (ASObject *, ASObject *)
static bool ifNGE (ASObject *, ASObject *)
static bool ifGE (ASObject *, ASObject *)
static bool ifNLE (ASObject *, ASObject *)
static bool ifStrictNE (ASObject *, ASObject *)
static bool ifFalse (ASObject *)
static bool ifTrue (ASObject *)
static ASObjectgetSlot (ASObject *th, int n)
static void setSlot (ASObject *, ASObject *, int n)
static void kill (int n)
static ASObjectpushString (call_context *th, int n)
static void getLex (call_context *th, int n)
static ASObjectgetScopeObject (call_context *th, int n)
static void deleteProperty (call_context *th, int n)
static void initProperty (call_context *th, int n)
static void newClass (call_context *th, int n)
static void newArray (call_context *th, int n)
static ASObjectfindPropStrict (call_context *th, int n)
static ASObjectfindProperty (call_context *th, int n)
static intptr_t pushByte (intptr_t n)
static intptr_t pushShort (intptr_t n)
static void pushInt (call_context *th, int n)
static void pushUInt (call_context *th, int n)
static void pushDouble (call_context *th, int n)
static void incLocal_i (call_context *th, int n)
static void coerce (call_context *th, int n)
static ASObjectgetProperty (ASObject *obj, multiname *name)
static intptr_t getProperty_i (ASObject *obj, multiname *name)
static void setProperty (ASObject *value, ASObject *obj, multiname *name)
static void setProperty_i (intptr_t value, ASObject *obj, multiname *name)
static void call (call_context *th, int n)
static void constructSuper (call_context *th, int n)
static void construct (call_context *th, int n)
static void constructGenericType (call_context *th, int n)
static ASObjectnewFunction (call_context *th, int n)
static void setSuper (call_context *th, int n)
static void getSuper (call_context *th, int n)
static void pushScope (call_context *obj)
static void pushWith (call_context *th)
static ASObjectpushNull ()
static ASObjectpushUndefined ()
static ASObjectpushNaN ()
static bool pushFalse ()
static bool pushTrue ()
static void dup ()
static bool in (ASObject *, ASObject *)
static bool _not (ASObject *)
static bool equals (ASObject *, ASObject *)
static number_t negate (ASObject *)
static void pop ()
static ASObjecttypeOf (ASObject *)
static void _throw (call_context *th)
static ASObjectasTypelate (ASObject *type, ASObject *obj)
static bool isTypelate (ASObject *type, ASObject *obj)
static bool isType (ASObject *obj, multiname *name)
static void swap ()
static ASObjectadd (ASObject *, ASObject *)
static ASObjectadd_oi (ASObject *, intptr_t)
static ASObjectadd_od (ASObject *, number_t)
static uintptr_t bitAnd (ASObject *, ASObject *)
static uintptr_t bitNot (ASObject *)
static uintptr_t bitAnd_oi (ASObject *val1, intptr_t val2)
static uintptr_t bitOr (ASObject *, ASObject *)
static uintptr_t bitOr_oi (ASObject *, uintptr_t)
static uintptr_t bitXor (ASObject *, ASObject *)
static uintptr_t rShift (ASObject *, ASObject *)
static uintptr_t urShift (ASObject *, ASObject *)
static uintptr_t urShift_io (uintptr_t, ASObject *)
static uintptr_t lShift (ASObject *, ASObject *)
static uintptr_t lShift_io (uintptr_t, ASObject *)
static number_t multiply (ASObject *, ASObject *)
static number_t multiply_oi (ASObject *, intptr_t)
static number_t divide (ASObject *, ASObject *)
static intptr_t modulo (ASObject *, ASObject *)
static number_t subtract (ASObject *, ASObject *)
static number_t subtract_oi (ASObject *, intptr_t)
static number_t subtract_io (intptr_t, ASObject *)
static number_t subtract_do (number_t, ASObject *)
static void popScope (call_context *th)
static ASObjectnewActivation (call_context *th, method_info *)
static ASObjectcoerce_s (ASObject *)
static ASObjectcheckfilter (ASObject *)
static void coerce_a ()
static void label ()
static void lookupswitch ()
static intptr_t convert_i (ASObject *)
static uintptr_t convert_u (ASObject *)
static number_t convert_d (ASObject *)
static bool convert_b (ASObject *)
static bool greaterThan (ASObject *, ASObject *)
static bool greaterEquals (ASObject *, ASObject *)
static bool lessEquals (ASObject *, ASObject *)
static bool lessThan (ASObject *, ASObject *)
static ASObjectnextName (ASObject *index, ASObject *obj)
static ASObjectnextValue (ASObject *index, ASObject *obj)
static uintptr_t increment_i (ASObject *)
static uintptr_t increment (ASObject *)
static uintptr_t decrement (ASObject *)
static uintptr_t decrement_i (ASObject *)
static ASObjectgetGlobalScope (call_context *th)
static bool strictEquals (ASObject *, ASObject *)
static void not_impl (int p)
static void method_reset (method_info *th)
static void newClassRecursiveLink (Class_base *target, Class_base *c)

Private Attributes

SystemStatem_sys
pthread_t t
bool terminated
llvm::Module * module
sem_t event_queue_mutex
sem_t sem_event_count
bool shuttingdown
std::deque< std::pair
< EventDispatcher *, Event * > > 
events_queue
std::vector< thisAndLevelmethod_this_stack

Static Private Attributes

static opcode_handler opcode_table_args_pointer_2int []
static opcode_handler opcode_table_args_pointer_number_int []
static opcode_handler opcode_table_args3_pointers []
static typed_opcode_handler opcode_table_uintptr_t []
static typed_opcode_handler opcode_table_number_t []
static typed_opcode_handler opcode_table_void []
static typed_opcode_handler opcode_table_voidptr []
static typed_opcode_handler opcode_table_bool_t []

Friends

class ABCContext
class method_info

Detailed Description

Definition at line 428 of file abc.h.


Constructor & Destructor Documentation

ABCVm::ABCVm ( SystemState s  ) 

Definition at line 953 of file abc.cpp.

ABCVm::~ABCVm (  ) 

Destroys the VM

Precondition:
shutdown must have been called

Definition at line 975 of file abc.cpp.


Member Function Documentation

bool ABCVm::_not ( ASObject v  )  [static, private]

Definition at line 1135 of file abc_opcodes.cpp.

void ABCVm::_throw ( call_context th  )  [static, private]

Definition at line 1277 of file abc_opcodes.cpp.

ASObject * ABCVm::add ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 950 of file abc_opcodes.cpp.

ASObject * ABCVm::add_od ( ASObject val2,
number_t  val1 
) [static, private]

Definition at line 1040 of file abc_opcodes.cpp.

ASObject * ABCVm::add_oi ( ASObject val2,
intptr_t  val1 
) [static, private]

Definition at line 995 of file abc_opcodes.cpp.

bool ABCVm::addEvent ( EventDispatcher obj,
Event ev 
)

enqueue an event, a reference is acquired *

Parameters:
obj EventDispatcher that will receive the event *
ev event that will be sent

Definition at line 1089 of file abc.cpp.

ASObject * ABCVm::asTypelate ( ASObject type,
ASObject obj 
) [static, private]

Definition at line 1853 of file abc_opcodes.cpp.

uintptr_t ABCVm::bitAnd ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 29 of file abc_opcodes.cpp.

uintptr_t ABCVm::bitAnd_oi ( ASObject val1,
intptr_t  val2 
) [static, private]

Definition at line 48 of file abc_opcodes.cpp.

uintptr_t ABCVm::bitNot ( ASObject val  )  [static, private]

Definition at line 228 of file abc_opcodes.cpp.

uintptr_t ABCVm::bitOr ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 255 of file abc_opcodes.cpp.

uintptr_t ABCVm::bitOr_oi ( ASObject val2,
uintptr_t  val1 
) [static, private]

Definition at line 246 of file abc_opcodes.cpp.

uintptr_t ABCVm::bitXor ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 236 of file abc_opcodes.cpp.

void lightspark::ABCVm::buildClassAndInjectBase ( const std::string &  n,
ASObject ,
ASObject *const *  a,
const unsigned int  argslen,
bool  isRoot 
) [private]
void ABCVm::call ( call_context th,
int  n 
) [static, private]

Definition at line 2343 of file abc_opcodes.cpp.

void ABCVm::callProperty ( call_context th,
int  n,
int  m 
) [static, private]

Definition at line 265 of file abc_opcodes.cpp.

void ABCVm::callPropVoid ( call_context th,
int  n,
int  m 
) [static, private]

Definition at line 754 of file abc_opcodes.cpp.

void ABCVm::callSuper ( call_context th,
int  n,
int  m 
) [static, private]

Definition at line 1570 of file abc_opcodes.cpp.

void ABCVm::callSuperVoid ( call_context th,
int  n,
int  m 
) [static, private]

Definition at line 1653 of file abc_opcodes.cpp.

ASObject * ABCVm::checkfilter ( ASObject o  )  [static, private]

Definition at line 145 of file abc_opcodes.cpp.

void ABCVm::coerce ( call_context th,
int  n 
) [static, private]

Definition at line 156 of file abc_opcodes.cpp.

void ABCVm::coerce_a (  )  [static, private]

Definition at line 140 of file abc_opcodes.cpp.

ASObject * ABCVm::coerce_s ( ASObject o  )  [static, private]

Definition at line 150 of file abc_opcodes.cpp.

void ABCVm::construct ( call_context th,
int  n 
) [static, private]

Definition at line 600 of file abc_opcodes.cpp.

void ABCVm::constructGenericType ( call_context th,
int  n 
) [static, private]

Definition at line 688 of file abc_opcodes.cpp.

void ABCVm::constructProp ( call_context th,
int  n,
int  m 
) [static, private]

Definition at line 1958 of file abc_opcodes.cpp.

void ABCVm::constructSuper ( call_context th,
int  n 
) [static, private]

Definition at line 1406 of file abc_opcodes.cpp.

bool ABCVm::convert_b ( ASObject o  )  [static, private]

Definition at line 94 of file abc_opcodes.cpp.

number_t ABCVm::convert_d ( ASObject o  )  [static, private]

Definition at line 81 of file abc_opcodes.cpp.

intptr_t ABCVm::convert_i ( ASObject o  )  [static, private]

Definition at line 110 of file abc_opcodes.cpp.

uintptr_t ABCVm::convert_u ( ASObject o  )  [static, private]

Definition at line 102 of file abc_opcodes.cpp.

uintptr_t ABCVm::decrement ( ASObject o  )  [static, private]

Definition at line 472 of file abc_opcodes.cpp.

uintptr_t ABCVm::decrement_i ( ASObject o  )  [static, private]

Definition at line 481 of file abc_opcodes.cpp.

void ABCVm::deleteProperty ( call_context th,
int  n 
) [static, private]

Definition at line 2383 of file abc_opcodes.cpp.

number_t ABCVm::divide ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 432 of file abc_opcodes.cpp.

void ABCVm::dup (  )  [static, private]

Definition at line 1190 of file abc_opcodes.cpp.

bool ABCVm::equals ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 1143 of file abc_opcodes.cpp.

ASObject * ABCVm::executeFunction ( SyntheticFunction function,
call_context context 
) [static]

Definition at line 29 of file abc_interpreter.cpp.

ASObject * ABCVm::findProperty ( call_context th,
int  n 
) [static, private]

Definition at line 1436 of file abc_opcodes.cpp.

ASObject * ABCVm::findPropStrict ( call_context th,
int  n 
) [static, private]

Definition at line 1473 of file abc_opcodes.cpp.

thisAndLevel lightspark::ABCVm::getCurObjAndLevel (  )  [inline]

Definition at line 626 of file abc.h.

void ABCVm::getDescendants ( call_context th,
int  n 
) [static, private]

Definition at line 2112 of file abc_opcodes.cpp.

int ABCVm::getEventQueueSize (  ) 

Definition at line 995 of file abc.cpp.

ASObject * ABCVm::getGlobalScope ( call_context th  )  [static, private]

Definition at line 464 of file abc_opcodes.cpp.

void ABCVm::getLex ( call_context th,
int  n 
) [static, private]

Definition at line 1348 of file abc_opcodes.cpp.

void ABCVm::getLocal ( ASObject o,
int  n 
) [static, private]

Definition at line 171 of file abc_opcodes.cpp.

void ABCVm::getLocal_int ( int  n,
int  v 
) [static, private]

Definition at line 166 of file abc_opcodes.cpp.

void ABCVm::getLocal_short ( int  n  )  [static, private]

Definition at line 176 of file abc_opcodes.cpp.

ASObject * ABCVm::getProperty ( ASObject obj,
multiname name 
) [static, private]

Definition at line 379 of file abc_opcodes.cpp.

intptr_t ABCVm::getProperty_i ( ASObject obj,
multiname name 
) [static, private]

Definition at line 368 of file abc_opcodes.cpp.

ASObject * ABCVm::getScopeObject ( call_context th,
int  n 
) [static, private]

Definition at line 2411 of file abc_opcodes.cpp.

ASObject * ABCVm::getSlot ( ASObject th,
int  n 
) [static, private]

Definition at line 211 of file abc_opcodes.cpp.

void ABCVm::getSuper ( call_context th,
int  n 
) [static, private]

Definition at line 1304 of file abc_opcodes.cpp.

bool ABCVm::greaterEquals ( ASObject obj1,
ASObject obj2 
) [static, private]

Definition at line 1528 of file abc_opcodes.cpp.

bool ABCVm::greaterThan ( ASObject obj1,
ASObject obj2 
) [static, private]

Definition at line 1517 of file abc_opcodes.cpp.

void lightspark::ABCVm::handleEvent ( std::pair< EventDispatcher *, Event * >  e  )  [private]
bool ABCVm::hasNext2 ( call_context th,
int  n,
int  m 
) [static, private]

Definition at line 2042 of file abc_opcodes.cpp.

bool ABCVm::ifEq ( ASObject obj1,
ASObject obj2 
) [static, private]

Definition at line 1909 of file abc_opcodes.cpp.

bool ABCVm::ifFalse ( ASObject obj1  )  [static, private]

Definition at line 1949 of file abc_opcodes.cpp.

bool ABCVm::ifGE ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1257 of file abc_opcodes.cpp.

bool ABCVm::ifGT ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1214 of file abc_opcodes.cpp.

bool ABCVm::ifLE ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1237 of file abc_opcodes.cpp.

bool ABCVm::ifLT ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 501 of file abc_opcodes.cpp.

bool ABCVm::ifLT_io ( intptr_t  val2,
ASObject obj1 
) [static, private]

Definition at line 527 of file abc_opcodes.cpp.

bool ABCVm::ifLT_oi ( ASObject obj2,
intptr_t  val1 
) [static, private]

Definition at line 512 of file abc_opcodes.cpp.

bool ABCVm::ifNE ( ASObject obj1,
ASObject obj2 
) [static, private]

Definition at line 537 of file abc_opcodes.cpp.

bool ABCVm::ifNE_oi ( ASObject obj1,
intptr_t  val2 
) [static, private]

Definition at line 548 of file abc_opcodes.cpp.

bool ABCVm::ifNGE ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1267 of file abc_opcodes.cpp.

bool ABCVm::ifNGT ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1225 of file abc_opcodes.cpp.

bool ABCVm::ifNLE ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1247 of file abc_opcodes.cpp.

bool ABCVm::ifNLT ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 490 of file abc_opcodes.cpp.

bool ABCVm::ifStrictEq ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1920 of file abc_opcodes.cpp.

bool ABCVm::ifStrictNE ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1934 of file abc_opcodes.cpp.

bool ABCVm::ifTrue ( ASObject obj1  )  [static, private]

Definition at line 852 of file abc_opcodes.cpp.

bool ABCVm::in ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 1940 of file abc_opcodes.cpp.

void ABCVm::incLocal_i ( call_context th,
int  n 
) [static, private]

Definition at line 585 of file abc_opcodes.cpp.

uintptr_t ABCVm::increment ( ASObject o  )  [static, private]

Definition at line 39 of file abc_opcodes.cpp.

uintptr_t ABCVm::increment_i ( ASObject o  )  [static, private]

Definition at line 2128 of file abc_opcodes.cpp.

void ABCVm::initProperty ( call_context th,
int  n 
) [static, private]

Definition at line 1550 of file abc_opcodes.cpp.

bool ABCVm::isType ( ASObject obj,
multiname name 
) [static, private]

Definition at line 1727 of file abc_opcodes.cpp.

bool ABCVm::isTypelate ( ASObject type,
ASObject obj 
) [static, private]

Definition at line 1789 of file abc_opcodes.cpp.

void ABCVm::jump ( int  offset  )  [static, private]

Definition at line 847 of file abc_opcodes.cpp.

void ABCVm::kill ( int  n  )  [static, private]

Definition at line 945 of file abc_opcodes.cpp.

void ABCVm::label (  )  [static, private]

Definition at line 118 of file abc_opcodes.cpp.

bool ABCVm::lessEquals ( ASObject obj1,
ASObject obj2 
) [static, private]

Definition at line 1539 of file abc_opcodes.cpp.

bool ABCVm::lessThan ( ASObject obj1,
ASObject obj2 
) [static, private]

Definition at line 2332 of file abc_opcodes.cpp.

void ABCVm::lookupswitch (  )  [static, private]

Definition at line 123 of file abc_opcodes.cpp.

uintptr_t ABCVm::lShift ( ASObject val1,
ASObject val2 
) [static, private]

Definition at line 1083 of file abc_opcodes.cpp.

uintptr_t ABCVm::lShift_io ( uintptr_t  val1,
ASObject val2 
) [static, private]

Definition at line 1095 of file abc_opcodes.cpp.

static void lightspark::ABCVm::method_reset ( method_info th  )  [static, private]
intptr_t ABCVm::modulo ( ASObject val1,
ASObject val2 
) [static, private]

Definition at line 861 of file abc_opcodes.cpp.

number_t ABCVm::multiply ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 575 of file abc_opcodes.cpp.

number_t ABCVm::multiply_oi ( ASObject val2,
intptr_t  val1 
) [static, private]

Definition at line 566 of file abc_opcodes.cpp.

number_t ABCVm::negate ( ASObject v  )  [static, private]

Definition at line 220 of file abc_opcodes.cpp.

ASObject * ABCVm::newActivation ( call_context th,
method_info info 
) [static, private]

Definition at line 2307 of file abc_opcodes.cpp.

void ABCVm::newArray ( call_context th,
int  n 
) [static, private]

Definition at line 2432 of file abc_opcodes.cpp.

ASObject * ABCVm::newCatch ( call_context th,
int  n 
) [static, private]

Definition at line 2426 of file abc_opcodes.cpp.

void ABCVm::newClass ( call_context th,
int  n 
) [static, private]

Definition at line 2198 of file abc_opcodes.cpp.

void ABCVm::newClassRecursiveLink ( Class_base target,
Class_base c 
) [static, private]

Definition at line 2185 of file abc_opcodes.cpp.

ASObject * ABCVm::newFunction ( call_context th,
int  n 
) [static, private]

Definition at line 2396 of file abc_opcodes.cpp.

void ABCVm::newObject ( call_context th,
int  n 
) [static, private]

Definition at line 2097 of file abc_opcodes.cpp.

ASObject * ABCVm::nextName ( ASObject index,
ASObject obj 
) [static, private]

Definition at line 2162 of file abc_opcodes.cpp.

ASObject * ABCVm::nextValue ( ASObject index,
ASObject obj 
) [static, private]

Definition at line 2137 of file abc_opcodes.cpp.

void ABCVm::not_impl ( int  p  )  [static, private]

Definition at line 1182 of file abc.cpp.

void ABCVm::pop (  )  [static, private]

Definition at line 161 of file abc_opcodes.cpp.

thisAndLevel ABCVm::popObjAndLevel (  ) 

Definition at line 133 of file abc.cpp.

void ABCVm::popScope ( call_context th  )  [static, private]

Definition at line 2325 of file abc_opcodes.cpp.

intptr_t ABCVm::pushByte ( intptr_t  n  )  [static, private]

Definition at line 560 of file abc_opcodes.cpp.

void ABCVm::pushDouble ( call_context th,
int  n 
) [static, private]

Definition at line 939 of file abc_opcodes.cpp.

bool ABCVm::pushFalse (  )  [static, private]

Definition at line 1201 of file abc_opcodes.cpp.

void ABCVm::pushInt ( call_context th,
int  n 
) [static, private]

Definition at line 933 of file abc_opcodes.cpp.

ASObject * ABCVm::pushNaN (  )  [static, private]

Definition at line 1207 of file abc_opcodes.cpp.

ASObject * ABCVm::pushNull (  )  [static, private]

Definition at line 134 of file abc_opcodes.cpp.

void ABCVm::pushObjAndLevel ( ASObject o,
int  l 
)

Definition at line 128 of file abc.cpp.

void ABCVm::pushScope ( call_context obj  )  [static, private]

Definition at line 457 of file abc_opcodes.cpp.

intptr_t ABCVm::pushShort ( intptr_t  n  )  [static, private]

Definition at line 196 of file abc_opcodes.cpp.

ASObject * ABCVm::pushString ( call_context th,
int  n 
) [static, private]

Definition at line 2419 of file abc_opcodes.cpp.

bool ABCVm::pushTrue (  )  [static, private]

Definition at line 1195 of file abc_opcodes.cpp.

void ABCVm::pushUInt ( call_context th,
int  n 
) [static, private]

Definition at line 927 of file abc_opcodes.cpp.

ASObject * ABCVm::pushUndefined (  )  [static, private]

Definition at line 128 of file abc_opcodes.cpp.

void ABCVm::pushWith ( call_context th  )  [static, private]

Definition at line 450 of file abc_opcodes.cpp.

void ABCVm::register_table ( const llvm::Type *  ret_type,
typed_opcode_handler table,
int  table_len 
) [private]

Definition at line 286 of file abc_codesynt.cpp.

void ABCVm::registerClasses (  )  [private]

Definition at line 140 of file abc.cpp.

void ABCVm::registerFunctions (  )  [private]

Definition at line 208 of file abc_codesynt.cpp.

uintptr_t ABCVm::rShift ( ASObject val1,
ASObject val2 
) [static, private]

Definition at line 1106 of file abc_opcodes.cpp.

void ABCVm::Run ( ABCVm th  )  [static]

Definition at line 1302 of file abc.cpp.

void ABCVm::setLocal ( int  n  )  [static, private]

Definition at line 181 of file abc_opcodes.cpp.

void ABCVm::setLocal_int ( int  n,
int  v 
) [static, private]

Definition at line 186 of file abc_opcodes.cpp.

void ABCVm::setLocal_obj ( int  n,
ASObject v 
) [static, private]

Definition at line 191 of file abc_opcodes.cpp.

void ABCVm::setProperty ( ASObject value,
ASObject obj,
multiname name 
) [static, private]

Definition at line 57 of file abc_opcodes.cpp.

void ABCVm::setProperty_i ( intptr_t  value,
ASObject obj,
multiname name 
) [static, private]

Definition at line 73 of file abc_opcodes.cpp.

void ABCVm::setSlot ( ASObject value,
ASObject obj,
int  n 
) [static, private]

Definition at line 202 of file abc_opcodes.cpp.

void ABCVm::setSuper ( call_context th,
int  n 
) [static, private]

Definition at line 1282 of file abc_opcodes.cpp.

void ABCVm::shutdown (  ) 

Definition at line 967 of file abc.cpp.

bool ABCVm::strictEqualImpl ( ASObject obj1,
ASObject obj2 
) [static]

Definition at line 1152 of file abc_opcodes.cpp.

bool ABCVm::strictEquals ( ASObject obj2,
ASObject obj1 
) [static, private]

Definition at line 1181 of file abc_opcodes.cpp.

number_t ABCVm::subtract ( ASObject val2,
ASObject val1 
) [static, private]

Definition at line 909 of file abc_opcodes.cpp.

number_t ABCVm::subtract_do ( number_t  val2,
ASObject val1 
) [static, private]

Definition at line 882 of file abc_opcodes.cpp.

number_t ABCVm::subtract_io ( intptr_t  val2,
ASObject val1 
) [static, private]

Definition at line 893 of file abc_opcodes.cpp.

number_t ABCVm::subtract_oi ( ASObject val2,
intptr_t  val1 
) [static, private]

Definition at line 872 of file abc_opcodes.cpp.

void ABCVm::swap (  )  [static, private]

Definition at line 2302 of file abc_opcodes.cpp.

ASObject * ABCVm::typeOf ( ASObject obj  )  [static, private]

Definition at line 720 of file abc_opcodes.cpp.

uintptr_t ABCVm::urShift ( ASObject val1,
ASObject val2 
) [static, private]

Definition at line 1116 of file abc_opcodes.cpp.

uintptr_t ABCVm::urShift_io ( uintptr_t  val1,
ASObject val2 
) [static, private]

Definition at line 1126 of file abc_opcodes.cpp.

void ABCVm::wait (  ) 

Definition at line 983 of file abc.cpp.


Friends And Related Function Documentation

friend class ABCContext [friend]

Definition at line 430 of file abc.h.

friend class method_info [friend]

Definition at line 431 of file abc.h.


Member Data Documentation

Definition at line 589 of file abc.h.

std::deque<std::pair<EventDispatcher*,Event*> > lightspark::ABCVm::events_queue [private]

Definition at line 594 of file abc.h.

llvm::ExecutionEngine* lightspark::ABCVm::ex

Definition at line 607 of file abc.h.

llvm::FunctionPassManager* lightspark::ABCVm::FPM

Definition at line 608 of file abc.h.

Definition at line 604 of file abc.h.

Definition at line 605 of file abc.h.

Definition at line 609 of file abc.h.

Definition at line 433 of file abc.h.

Definition at line 601 of file abc.h.

llvm::Module* lightspark::ABCVm::module [private]

Definition at line 437 of file abc.h.

Definition at line 606 of file abc.h.

Initial value:
{
        {"setProperty",(void*)&ABCVm::setProperty},
}

Definition at line 581 of file abc.h.

Initial value:
{
        {"getMultiname_i",(void*)&ABCContext::s_getMultiname_i}
}

Definition at line 579 of file abc.h.

Initial value:
{
        {"getMultiname_d",(void*)&ABCContext::s_getMultiname_d}
}

Definition at line 580 of file abc.h.

Definition at line 586 of file abc.h.

Initial value:
{
        {"multiply",(void*)&ABCVm::multiply,ARGS_OBJ_OBJ},
        {"multiply_oi",(void*)&ABCVm::multiply_oi,ARGS_OBJ_INT},
        {"divide",(void*)&ABCVm::divide,ARGS_OBJ_OBJ},
        {"subtract",(void*)&ABCVm::subtract,ARGS_OBJ_OBJ},
        {"subtract_oi",(void*)&ABCVm::subtract_oi,ARGS_OBJ_INT},
        {"subtract_io",(void*)&ABCVm::subtract_io,ARGS_INT_OBJ},
        {"subtract_do",(void*)&ABCVm::subtract_do,ARGS_NUMBER_OBJ},
        {"convert_d",(void*)&ABCVm::convert_d,ARGS_OBJ},
        {"negate",(void*)&ABCVm::negate,ARGS_OBJ},
}

Definition at line 583 of file abc.h.

Initial value:
{
        {"bitAnd_oo",(void*)&ABCVm::bitAnd,ARGS_OBJ_OBJ},
        {"bitAnd_oi",(void*)&ABCVm::bitAnd_oi,ARGS_OBJ_INT},
        {"pushByte",(void*)&ABCVm::pushByte,ARGS_INT},
        {"pushShort",(void*)&ABCVm::pushShort,ARGS_INT},
        {"increment",(void*)&ABCVm::increment,ARGS_OBJ},
        {"increment_i",(void*)&ABCVm::increment_i,ARGS_OBJ},
        {"decrement",(void*)&ABCVm::decrement,ARGS_OBJ},
        {"decrement_i",(void*)&ABCVm::decrement_i,ARGS_OBJ},
        {"bitNot",(void*)&ABCVm::bitNot,ARGS_OBJ},
        {"bitXor",(void*)&ABCVm::bitXor,ARGS_OBJ_OBJ},
        {"bitOr",(void*)&ABCVm::bitOr,ARGS_OBJ_OBJ},
        {"bitOr_oi",(void*)&ABCVm::bitOr_oi,ARGS_OBJ_INT},
        {"lShift",(void*)&ABCVm::lShift,ARGS_OBJ_OBJ},
        {"lShift_io",(void*)&ABCVm::lShift_io,ARGS_INT_OBJ},
        {"modulo",(void*)&ABCVm::modulo,ARGS_OBJ_OBJ},
        {"urShift",(void*)&ABCVm::urShift,ARGS_OBJ_OBJ},
        {"rShift",(void*)&ABCVm::rShift,ARGS_OBJ_OBJ},
        {"urShift_io",(void*)&ABCVm::urShift_io,ARGS_INT_OBJ},
        {"getProperty_i",(void*)&ABCVm::getProperty_i,ARGS_OBJ_OBJ},
        {"convert_i",(void*)&ABCVm::convert_i,ARGS_OBJ},
        {"convert_u",(void*)&ABCVm::convert_u,ARGS_OBJ},
}

Definition at line 582 of file abc.h.

Definition at line 584 of file abc.h.

Initial value:
{
        {"add",(void*)&ABCVm::add,ARGS_OBJ_OBJ},
        {"add_oi",(void*)&ABCVm::add_oi,ARGS_OBJ_INT},
        {"add_od",(void*)&ABCVm::add_od,ARGS_OBJ_NUMBER},
        {"nextName",(void*)&ABCVm::nextName,ARGS_OBJ_OBJ},
        {"nextValue",(void*)&ABCVm::nextValue,ARGS_OBJ_OBJ},
        {"abstract_d",(void*)&abstract_d,ARGS_NUMBER},
        {"abstract_i",(void*)&abstract_i,ARGS_INT},
        {"abstract_b",(void*)&abstract_b,ARGS_BOOL},
        {"pushNaN",(void*)&ABCVm::pushNaN,ARGS_NONE},
        {"pushNull",(void*)&ABCVm::pushNull,ARGS_NONE},
        {"pushUndefined",(void*)&ABCVm::pushUndefined,ARGS_NONE},
        {"getProperty",(void*)&ABCVm::getProperty,ARGS_OBJ_OBJ},
        {"asTypelate",(void*)&ABCVm::asTypelate,ARGS_OBJ_OBJ},
        {"getGlobalScope",(void*)&ABCVm::getGlobalScope,ARGS_CONTEXT},
        {"findPropStrict",(void*)&ABCVm::findPropStrict,ARGS_CONTEXT_INT},
        {"findProperty",(void*)&ABCVm::findProperty,ARGS_CONTEXT_INT},
        {"getMultiname",(void*)&ABCContext::s_getMultiname,ARGS_OBJ_OBJ_INT},
        {"typeOf",(void*)ABCVm::typeOf,ARGS_OBJ},
        {"coerce_s",(void*)&ABCVm::coerce_s,ARGS_OBJ},
        {"checkfilter",(void*)&ABCVm::checkfilter,ARGS_OBJ},
        {"pushString",(void*)&ABCVm::pushString,ARGS_CONTEXT_INT},
        {"newFunction",(void*)&ABCVm::newFunction,ARGS_CONTEXT_INT},
        {"newCatch",(void*)&ABCVm::newCatch,ARGS_CONTEXT_INT},
        {"getScopeObject",(void*)&ABCVm::getScopeObject,ARGS_CONTEXT_INT},
        {"getSlot",(void*)&ABCVm::getSlot,ARGS_OBJ_INT}
}

Definition at line 585 of file abc.h.

Definition at line 590 of file abc.h.

Definition at line 593 of file abc.h.

pthread_t lightspark::ABCVm::t [private]

Definition at line 434 of file abc.h.

Definition at line 435 of file abc.h.


The documentation for this class was generated from the following files:
Generated on Tue Aug 24 19:50:36 2010 for Lightspark by  doxygen 1.6.3