IRLine.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 02 Dec 2008 09:43:42 +0000
changeset 7 0de2eaa86456
parent 6 49a61123c743
child 23 377bc46cad12
permissions -rw-r--r--
IRBytecodeGenerator emits lineno instructions only when lineno differs from the last one
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/newcompiler' }"
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
IRInstruction subclass:#IRLine
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:'line'
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'NewCompiler-IR'
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!IRLine methodsFor:'accessing'!
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
line
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    ^ line
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    "Created: / 02-12-2008 / 08:58:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
!
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
line:anInteger
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    line := anInteger.
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "Created: / 02-12-2008 / 08:58:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
! !
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
!IRLine methodsFor:'interpret'!
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
executeOn: interpreter
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
        ^ interpreter line: line
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    "Created: / 02-12-2008 / 08:59:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
! !
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!IRLine class methodsFor:'documentation'!
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
version
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    ^'$Id$'
49a61123c743 A new IRLine pseudoinstruction added to include debugging info into the bytecode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
! !