[Subversion] / RuleDispatch / src / dispatch / assembler.txt  

Diff of /RuleDispatch/src/dispatch/assembler.txt

Parent Directory | Revision Log

version 2111, Mon Dec 19 07:32:17 2005 UTC version 2112, Thu Dec 22 05:26:05 2005 UTC
Line 228 
Line 228 
   
     XXX Need tests for MAKE_CLOSURE/MAKE_FUNCTION      XXX Need tests for MAKE_CLOSURE/MAKE_FUNCTION
   
   
   Labels and backpatching forward references:
   
       >>> c = Code()
       >>> ref = c.JUMP_ABSOLUTE()
       >>> c.LOAD_CONST(1)
       >>> ref()
       >>> c.RETURN_VALUE()
       >>> dis(c.code())
         0           0 JUMP_ABSOLUTE            6
                     3 LOAD_CONST               0 (1)
               >>    6 RETURN_VALUE
   
       >>> c = Code()
       >>> ref = c.JUMP_FORWARD()
       >>> c.LOAD_CONST(1)
       >>> ref()
       >>> c.RETURN_VALUE()
       >>> dis(c.code())
         0           0 JUMP_FORWARD             3 (to 6)
                     3 LOAD_CONST               0 (1)
               >>    6 RETURN_VALUE
   
       >>> c = Code()
       >>> lbl = c.label()
       >>> c.LOAD_CONST(1)
       >>> c.JUMP_IF_TRUE(lbl)
       Traceback (most recent call last):
         ...
       AssertionError: Relative jumps can't go backwards
   
       >>> c = Code()
       >>> lbl = c.label()
       >>> c.LOAD_CONST(1)
       >>> ref = c.JUMP_ABSOLUTE(lbl)
       >>> dis(c.code())
         0     >>    0 LOAD_CONST               0 (1)
                     3 JUMP_ABSOLUTE            0
   
   


Generate output suitable for use with a patch program
Legend:
Removed from v.2111  
changed lines
  Added in v.2112

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help