IRInstruction.st
changeset 42 acdc3ec6d152
parent 41 f3898a3b378d
child 43 c8afb8e4c3cc
equal deleted inserted replaced
41:f3898a3b378d 42:acdc3ec6d152
     2 
     2 
     3 Link subclass:#IRInstruction
     3 Link subclass:#IRInstruction
     4 	instanceVariableNames:'sourceNode bytecodeIndex sequence'
     4 	instanceVariableNames:'sourceNode bytecodeIndex sequence'
     5 	classVariableNames:''
     5 	classVariableNames:''
     6 	poolDictionaries:''
     6 	poolDictionaries:''
     7 	category:'NewCompiler-IR'
     7 	category:'IR Compiler-IR'
     8 !
     8 !
     9 
     9 
    10 IRInstruction comment:'I am an instruction in the IR (intermediate representation) language.  The IR serves as the intermediary between the Smalltalk language and the bytecode language.  It is easier to optimize and translate to/from this language than it is to optimize/translate directly from Smalltalk to bytecodes.  The IR is generic and simple consisting of just twelve instructions.  They are:
    10 IRInstruction comment:'I am an instruction in the IR (intermediate representation) language.  The IR serves as the intermediary between the Smalltalk language and the bytecode language.  It is easier to optimize and translate to/from this language than it is to optimize/translate directly from Smalltalk to bytecodes.  The IR is generic and simple consisting of just twelve instructions.  They are:
    11 	goto: labelNum
    11 	goto: labelNum
    12 	if: boolean goto: labelNum1 otherwise: labelNum2
    12 	if: boolean goto: labelNum1 otherwise: labelNum2
   417 !
   417 !
   418 
   418 
   419 version_SVN
   419 version_SVN
   420     ^ '$Id::                                                                                                                        $'
   420     ^ '$Id::                                                                                                                        $'
   421 ! !
   421 ! !
       
   422