/[jscoverage]/trunk/js/jsinterp.h
ViewVC logotype

Diff of /trunk/js/jsinterp.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 332 by siliconforks, Thu Oct 23 19:03:33 2008 UTC revision 399 by siliconforks, Tue Dec 9 03:37:47 2008 UTC
# Line 68  Line 68 
68   */   */
69  struct JSStackFrame {  struct JSStackFrame {
70      JSFrameRegs     *regs;      JSFrameRegs     *regs;
71        jsbytecode      *imacpc;        /* null or interpreter macro call pc */
72      jsval           *slots;         /* variables, locals and operand stack */      jsval           *slots;         /* variables, locals and operand stack */
73      JSObject        *callobj;       /* lazily created Call object */      JSObject        *callobj;       /* lazily created Call object */
74      JSObject        *argsobj;       /* lazily created arguments object */      JSObject        *argsobj;       /* lazily created arguments object */
# Line 95  Line 96 
96  #endif  #endif
97  };  };
98    
99    #ifdef DEBUG
100    #ifdef __cplusplus
101    static JS_INLINE uintN
102    FramePCOffset(JSStackFrame* fp)
103    {
104        return uintN((fp->imacpc ? fp->imacpc : fp->regs->pc) - fp->script->code);
105    }
106    #endif
107    #endif
108    
109  static JS_INLINE jsval *  static JS_INLINE jsval *
110  StackBase(JSStackFrame *fp)  StackBase(JSStackFrame *fp)
111  {  {
# Line 133  Line 144 
144  #define JSFRAME_ITERATOR       0x80 /* trying to get an iterator for for-in */  #define JSFRAME_ITERATOR       0x80 /* trying to get an iterator for for-in */
145  #define JSFRAME_POP_BLOCKS    0x100 /* scope chain contains blocks to pop */  #define JSFRAME_POP_BLOCKS    0x100 /* scope chain contains blocks to pop */
146  #define JSFRAME_GENERATOR     0x200 /* frame belongs to generator-iterator */  #define JSFRAME_GENERATOR     0x200 /* frame belongs to generator-iterator */
147    #define JSFRAME_IMACRO_START  0x400 /* imacro starting -- see jstracer.h */
148    
149  #define JSFRAME_OVERRIDE_SHIFT 24   /* override bit-set params; see jsfun.c */  #define JSFRAME_OVERRIDE_SHIFT 24   /* override bit-set params; see jsfun.c */
150  #define JSFRAME_OVERRIDE_BITS  8  #define JSFRAME_OVERRIDE_BITS  8
# Line 186  Line 198 
198    
199  #define SHAPE_OVERFLOW_BIT      JS_BIT(32 - PCVCAP_TAGBITS)  #define SHAPE_OVERFLOW_BIT      JS_BIT(32 - PCVCAP_TAGBITS)
200    
201    /*
202     * When sprop is not null and the shape generation triggers the GC due to a
203     * shape overflow, the functions roots sprop.
204     */
205  extern uint32  extern uint32
206  js_GenerateShape(JSContext *cx, JSBool gcLocked);  js_GenerateShape(JSContext *cx, JSBool gcLocked, JSScopeProperty *sprop);
207    
208  struct JSPropCacheEntry {  struct JSPropCacheEntry {
209      jsbytecode          *kpc;           /* pc if vcap tag is <= 1, else atom */      jsbytecode          *kpc;           /* pc if vcap tag is <= 1, else atom */

Legend:
Removed from v.332  
changed lines
  Added in v.399

  ViewVC Help
Powered by ViewVC 1.1.24