Public Types | Public Member Functions | Public Attributes

JSCodeGenerator Struct Reference

#include <jsemit.h>

Inheritance diagram for JSCodeGenerator:
Collaboration diagram for JSCodeGenerator:

List of all members.

Public Types

typedef js::HashMap< JSAtom
*, js::Value
ConstMap
typedef js::Vector
< js::GlobalSlotArray::Entry,
16, js::ContextAllocPolicy
GlobalUseVector
typedef js::Vector< uint32,
8, js::ContextAllocPolicy
SlotVector

Public Member Functions

 JSCodeGenerator (js::Parser *parser, JSArenaPool *codePool, JSArenaPool *notePool, uintN lineno)
bool init ()
 ~JSCodeGenerator ()
bool addGlobalUse (JSAtom *atom, uint32 slot, js::UpvarCookie *cookie)
bool hasSharps ()
uintN sharpSlots ()
bool compilingForEval ()
bool shouldNoteClosedName (JSParseNode *pn)
bool checkSingletonContext ()

Public Attributes

JSArenaPoolcodePool
JSArenaPoolnotePool
void * codeMark
void * noteMark
struct {
   jsbytecode *   base
   jsbytecode *   limit
   jsbytecode *   next
   jssrcnote *   notes
   uintN   noteCount
   uintN   noteMask
   ptrdiff_t   lastNoteOffset
   uintN   currentLine
prolog
struct {
   jsbytecode *   base
   jsbytecode *   limit
   jsbytecode *   next
   jssrcnote *   notes
   uintN   noteCount
   uintN   noteMask
   ptrdiff_t   lastNoteOffset
   uintN   currentLine
main
struct {
   jsbytecode *   base
   jsbytecode *   limit
   jsbytecode *   next
   jssrcnote *   notes
   uintN   noteCount
   uintN   noteMask
   ptrdiff_t   lastNoteOffset
   uintN   currentLine
current
JSAtomList atomList
uintN firstLine
intN stackDepth
uintN maxStackDepth
uintN ntrynotes
JSTryNodelastTryNode
JSSpanDepspanDeps
JSJumpTargetjumpTargets
JSJumpTargetjtFreeList
uintN numSpanDeps
uintN numJumpTargets
ptrdiff_t spanDepTodo
uintN arrayCompDepth
uintN emitLevel
ConstMap constMap
JSGCConstList constList
JSCGObjectList objectList
JSCGObjectList regexpList
JSAtomList upvarList
JSUpvarArray upvarMap
GlobalUseVector globalUses
JSAtomList globalMap
SlotVector closedArgs
SlotVector closedVars
uint16 traceIndex

Member Typedef Documentation


Constructor & Destructor Documentation

JSCodeGenerator::JSCodeGenerator ( js::Parser parser,
JSArenaPool codePool,
JSArenaPool notePool,
uintN  lineno 
)
JSCodeGenerator::~JSCodeGenerator (  ) 

Member Function Documentation

bool JSCodeGenerator::addGlobalUse ( JSAtom atom,
uint32  slot,
js::UpvarCookie cookie 
)
bool JSCodeGenerator::checkSingletonContext (  )  [inline]
bool JSCodeGenerator::compilingForEval (  )  [inline]
bool JSCodeGenerator::hasSharps (  )  [inline]
bool JSCodeGenerator::init (  ) 
uintN JSCodeGenerator::sharpSlots (  )  [inline]
bool JSCodeGenerator::shouldNoteClosedName ( JSParseNode pn  ) 

Member Data Documentation

struct { ... } * JSCodeGenerator::current
struct { ... } JSCodeGenerator::main
struct { ... } JSCodeGenerator::prolog

The documentation for this struct was generated from the following file: