Decompiler.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 27 Oct 2022 14:53:59 +0100
branchjv
changeset 4735 3b11fb3ede98
parent 4724 7f06668ac292
permissions -rw-r--r--
Allow single underscore as method / block argument and temporaries This commit is a follow up for 38b221e.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
     1
"
4
f6fd83437415 *** empty log message ***
claus
parents: 3
diff changeset
     2
 COPYRIGHT (c) 1991 by Claus Gittinger
4275
e06f4b087e47 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3753
diff changeset
     3
 COPYRIGHT (c) 2015 Jan Vrany
4661
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
     4
 COPYRIGHT (c) 2021 LabWare
1796
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
     5
              All Rights Reserved
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
     6
7ad01559b262 Initial revision
claus
parents:
diff changeset
     7
 This software is furnished under a license and may be used
7ad01559b262 Initial revision
claus
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
7ad01559b262 Initial revision
claus
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
7ad01559b262 Initial revision
claus
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
7ad01559b262 Initial revision
claus
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
7ad01559b262 Initial revision
claus
parents:
diff changeset
    12
 hereby transferred.
7ad01559b262 Initial revision
claus
parents:
diff changeset
    13
"
1140
40bb7432cea2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
    14
"{ Package: 'stx:libcomp' }"
40bb7432cea2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
    15
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
    16
"{ NameSpace: Smalltalk }"
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
    17
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    18
ByteCodeCompiler subclass:#Decompiler
1800
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
    19
	instanceVariableNames:'hasLineNo bytes literals index listStream outputStream'
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
    20
	classVariableNames:''
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
    21
	poolDictionaries:''
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
    22
	category:'System-Compiler'
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    23
!
7ad01559b262 Initial revision
claus
parents:
diff changeset
    24
378
450a65b641b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
    25
!Decompiler class methodsFor:'documentation'!
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    26
135
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    27
copyright
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    28
"
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    29
 COPYRIGHT (c) 1991 by Claus Gittinger
4275
e06f4b087e47 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3753
diff changeset
    30
 COPYRIGHT (c) 2015 Jan Vrany
4661
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
    31
 COPYRIGHT (c) 2021 LabWare
1796
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
    32
              All Rights Reserved
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    33
135
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    34
 This software is furnished under a license and may be used
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    35
 only in accordance with the terms of that license and with the
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    37
 be provided or otherwise made available to, or used by, any
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    38
 other person.  No title to or ownership of the software is
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    39
 hereby transferred.
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    40
"
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    41
!
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    42
135
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    43
documentation
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    44
"
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    45
    only for stx-debugging. Not for public eyes.
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    46
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    47
    Decompiler decompile:(someClass compiledMethodAt:#someSelector)
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    48
"
aa4f7b8f121e uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
    49
! !
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    50
378
450a65b641b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
    51
!Decompiler class methodsFor:'decompiling'!
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    52
7ad01559b262 Initial revision
claus
parents:
diff changeset
    53
decompile:aMethod
1789
7d38fabe0785 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    54
    ^ self decompile:aMethod to:Transcript
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    55
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    56
    "
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    57
     Decompiler decompile:(FileBrowser compiledMethodAt:#initialize)
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    58
     Decompiler decompile:(Decompiler compiledMethodAt:#decompile:to:)
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    59
    "
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    60
1789
7d38fabe0785 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    61
    "Modified: / 06-08-2006 / 15:31:39 / cg"
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    62
!
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    63
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    64
decompile:aMethod to:aStream
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    65
    ^ (self new) decompile:aMethod to:aStream
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    66
7ad01559b262 Initial revision
claus
parents:
diff changeset
    67
    "Decompiler decompile:(FileBrowser compiledMethodAt:#initialize)"
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    68
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    69
    "Created: 16.4.1996 / 20:25:55 / cg"
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    70
! !
7ad01559b262 Initial revision
claus
parents:
diff changeset
    71
7ad01559b262 Initial revision
claus
parents:
diff changeset
    72
!Decompiler methodsFor:'decompiling'!
7ad01559b262 Initial revision
claus
parents:
diff changeset
    73
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    74
decompile:aMethod to:aStream
1800
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
    75
    |nBytes byte sym sel lineNr who method insnIndex1 insnIndex2 n nCol|
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    76
1800
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
    77
    nCol := 7.    
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
    78
    listStream := nil.
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
    79
    outputStream := aStream.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    80
384
92c963b7922b handle decompilation of wrapped methods
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
    81
    (method := aMethod) isNil ifTrue:[
278
8c8c96856b41 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 250
diff changeset
    82
        aStream showCR:'nil method'.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
    83
        ^ self
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    84
    ].   
2431
1e94ebcb9157 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2423
diff changeset
    85
    method := method originalMethodIfWrapped.
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    86
1360
602caf902ede checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
    87
    aStream cr.
602caf902ede checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
    88
    aStream show:'decompiling '.
602caf902ede checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
    89
2423
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
    90
    method isMethod ifTrue:[
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
    91
        who := method who.
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
    92
        who notNil ifTrue:[
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
    93
            classToCompileFor := who at:1.
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
    94
            aStream showCR:(classToCompileFor name , '>>' , (who at:2)).
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
    95
        ]
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
    96
    ].
4553
a673423f1239 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3749
diff changeset
    97
    aStream show:('nA: ' , method argumentCount printString).
1360
602caf902ede checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
    98
    aStream show:(' nV: ' , method numVars printString).
602caf902ede checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
    99
    aStream show:(' nT: ' , method stackSize printString).
4661
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
   100
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
   101
    (method size == 1 and: [ (method at:1) isArray ]) ifTrue: [
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
   102
        aStream show: ('   (using indirect literals)')
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
   103
    ].
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
   104
1360
602caf902ede checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
   105
    aStream cr.
602caf902ede checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
   106
    aStream cr.
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   107
384
92c963b7922b handle decompilation of wrapped methods
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   108
    bytes := method byteCode.
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   109
    bytes isNil ifTrue:[
740
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   110
        method isLazyMethod ifTrue:[
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   111
            method := method asExecutableMethod.
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   112
            bytes := method byteCode.
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   113
            aStream showCR:'(lazyMethod; showing resulting code when compiled on first invokation)'.
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   114
            aStream cr.
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   115
        ].
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   116
    ].
6936f116c334 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   117
    bytes isNil ifTrue:[
278
8c8c96856b41 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 250
diff changeset
   118
        aStream showCR:'no bytecode'.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   119
        ^ self
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   120
    ].
384
92c963b7922b handle decompilation of wrapped methods
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   121
    literals := method literals.
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   122
    index := 1.
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   123
    nBytes := bytes size.
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   124
    [index <= nBytes] whileTrue:[
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   125
        listStream := '' writeStream.
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   126
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   127
        self showPC.
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   128
        insnIndex1 := index.
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   129
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   130
        sym := self symbolicCodeFor:(bytes at:index).
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   131
        listStream show:sym.
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   132
"
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   133
        extra notNil ifTrue:[Transcript show:(extra printString)].
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   134
"
347
c41b9c9c0e50 oops - sendWIDTH & sendHEIGHT have lineNumber info
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   135
        index := index + 1.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   136
        hasLineNo ifTrue:[
347
c41b9c9c0e50 oops - sendWIDTH & sendHEIGHT have lineNumber info
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   137
            lineNr := bytes at:index.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   138
            index := index + 1.
3106
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   139
            sym == #LINE16 ifTrue:[
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   140
                lineNr := (lineNr << 8) + (bytes at:index).
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   141
                index := index + 1.
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   142
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   143
            ].
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   144
        ] ifFalse:[
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   145
            lineNr := nil
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   146
        ].
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   147
        extra notNil ifTrue:[
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   148
            listStream show:' '.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   149
            byte := bytes at:index.
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   150
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   151
            "compute argument showXXX selector from extra ..."
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   152
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   153
            sel := 'show' , extra , ':'.
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   154
            sel at:5 put:(sel at:5) asUppercase.
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   155
            self perform:sel asSymbol with:byte
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   156
        ].
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   157
        insnIndex2 := index-1.
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   158
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   159
        insnIndex1 to:insnIndex2 do:[:i |
3749
13450df6526e #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3728
diff changeset
   160
            outputStream show:((bytes at:i) hexPrintString:2).
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   161
            outputStream show:' '.
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   162
        ].
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   163
        n := (insnIndex2-insnIndex1) * 3.
1800
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   164
        outputStream spaces:(nCol*3 - n).
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   165
        outputStream show:(listStream contents).
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   166
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   167
        lineNr notNil ifTrue:[
3443
78ceb5df3dcd class: Decompiler
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   168
            aStream show:' ['; show:lineNr; show:']'
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   169
        ].
278
8c8c96856b41 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 250
diff changeset
   170
        aStream showCR:''
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   171
    ]
206
d4cd6769b983 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   172
1789
7d38fabe0785 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   173
    "Created: / 16-04-1996 / 20:27:18 / cg"
2431
1e94ebcb9157 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2423
diff changeset
   174
    "Modified: / 22-10-2010 / 11:48:15 / cg"
3106
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   175
    "Modified: / 12-04-2013 / 01:35:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4661
9cb6a83409bb `Decompiler:` print indication that indirect literal frame is used.
Jan Vrany <jan.vrany@labware.com>
parents: 4315
diff changeset
   176
    "Modified: / 16-02-2021 / 08:07:43 / Jan Vrany <jan.vrany@labware.com>"
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   177
!
7ad01559b262 Initial revision
claus
parents:
diff changeset
   178
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   179
showAbsOffset:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   180
    |offs b2|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   181
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   182
    index := index + 1.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   183
    b2 := (bytes at:index).
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   184
    offs := byte + (b2 bitShift:8).
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   185
    index := index + 1.
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   186
    listStream show:offs printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   187
    listStream show:' ('.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   188
    listStream show:offs printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   189
    listStream show:')'
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   190
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   191
    "Modified: 16.4.1996 / 20:27:53 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   192
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   193
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   194
showAbsOffsetLevel:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   195
    |offs b2|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   196
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   197
    index := index + 1.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   198
    b2 := (bytes at:index).
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   199
    offs := byte + (b2 bitShift:8).
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   200
    index := index + 1.
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   201
    listStream show:offs printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   202
    listStream show:' ('.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   203
    listStream show:offs printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   204
    listStream show:')'.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   205
    self showNvarNargsAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   206
    index := index + 2
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   207
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   208
    "Modified: 16.4.1996 / 20:27:57 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   209
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   210
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   211
showExtraOp:op
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   212
    "/ listStream show:(op printString); show:' '.
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   213
1800
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   214
    index := index + 1.
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   215
    op == 0 ifTrue:[
1800
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   216
        listStream show:'SEND_VL '.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   217
        self showLineNo:(bytes at:index).
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   218
        listStream show:' nargs:' , (bytes at:index) printString; show:' '.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   219
        index := index + 1.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   220
        self showLiteral32:0.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   221
        ^ self.
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   222
    ].
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   223
    op == 1 ifTrue:[
1800
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   224
        listStream show:'SUPERSEND_VL '.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   225
        self showLineNo:(bytes at:index).
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   226
        listStream show:' nargs:' , (bytes at:index) printString; show:' '.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   227
        index := index + 1.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   228
        self showLiteral32:0.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   229
        self showLiteral32:0.
c6529e6820ee more long ops
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   230
        ^ self.
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   231
    ].
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   232
    op == 2 ifTrue:[
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   233
        listStream show:'PUSH_VL_LIT '.
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   234
        self showLiteral32:0.
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   235
        ^ self.
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   236
    ].
2128
3cdbf4f6704f Change #halt: to #shouldImplement or #assert:
Stefan Vogel <sv@exept.de>
parents: 1826
diff changeset
   237
    self shouldImplement.
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   238
    op == 3 ifTrue:[
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   239
    ].
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   240
    op == 4 ifTrue:[
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   241
    ].
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   242
!
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   243
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   244
showIndex:byte
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   245
    listStream show:byte printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   246
    index := index + 1
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   247
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   248
    "Modified: 16.4.1996 / 20:27:59 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   249
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   250
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   251
showIndexLevel:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   252
    self showIndex:byte.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   253
    self showNvarNargsAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   254
    index := index + 2
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   255
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   256
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   257
showInstvarIndex:byte
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   258
    listStream show:byte printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   259
    classToCompileFor notNil ifTrue:[
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   260
        listStream show:'('.
763
d3cc2d32a20d dont crash for invalid instvar index.
tm
parents: 740
diff changeset
   261
        listStream show:(classToCompileFor allInstVarNames at:byte ifAbsent:'???? [' , byte printString ,']').
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   262
        listStream show:')'.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   263
    ].
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   264
    index := index + 1
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   265
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   266
    "Modified: 16.4.1996 / 20:28:06 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   267
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   268
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   269
showLevelIndex:byte
1148
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   270
    |lvl idx|
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   271
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   272
    lvl := byte.
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   273
    index := index + 1.
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   274
    idx := bytes at:index.
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   275
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   276
    listStream show:idx printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   277
    index := index + 1.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   278
1148
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   279
    listStream show:' lvl: '; show:lvl printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   280
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   281
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   282
showLineNo:byte
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   283
    listStream show:' line:' , byte printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   284
    index := index + 1
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   285
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   286
    "Modified: 16.4.1996 / 20:28:10 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   287
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   288
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   289
showLit1:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   290
    self showLit:1
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   291
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   292
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   293
showLit2:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   294
    self showLit:2
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   295
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   296
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   297
showLit3:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   298
    self showLit:3
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   299
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   300
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   301
showLit4:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   302
    self showLit:4
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   303
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   304
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   305
showLit5:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   306
    self showLit:5
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   307
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   308
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   309
showLit6:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   310
    self showLit:6
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   311
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   312
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   313
showLit7:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   314
    self showLit:7
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   315
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   316
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   317
showLit8:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   318
    self showLit:8
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   319
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   320
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   321
showLit9:ignored
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   322
    self showLit:9
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   323
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   324
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   325
showLit:litIndex
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   326
    |lit|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   327
573
7aadeb921f21 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 551
diff changeset
   328
    lit := literals at:litIndex ifAbsent:'*** badIndex ***'.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   329
    lit isBehavior ifTrue:[
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   330
        listStream show:lit name
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   331
    ] ifFalse:[
378
450a65b641b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   332
        lit isBlock ifTrue:[
450a65b641b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   333
            listStream show:'[a block]'
450a65b641b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   334
        ] ifFalse:[
1796
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
   335
            (lit isNumber or:[lit isString or:[lit isSymbol]]) ifTrue:[
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
   336
                listStream show:lit storeString
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
   337
            ] ifFalse:[
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
   338
                listStream show:'{', lit printString , '}'
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
   339
            ]
378
450a65b641b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   340
        ]
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   341
    ]
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   342
1796
bc2de3be5f7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1793
diff changeset
   343
    "Modified: / 08-08-2006 / 00:45:46 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   344
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   345
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   346
showLiteral16:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   347
    |litIndex|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   348
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
   349
    litIndex := bytes unsignedInt16At:index MSB:false.
3443
78ceb5df3dcd class: Decompiler
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   350
    listStream show:litIndex printString; space.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   351
    self showLit:litIndex.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   352
    index := index + 2
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   353
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   354
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   355
showLiteral32:byte
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   356
    |litIndex|
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   357
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
   358
    litIndex := bytes unsignedInt32At:index MSB:false.
3443
78ceb5df3dcd class: Decompiler
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   359
    listStream show:litIndex printString; space.
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   360
    self showLit:litIndex.
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   361
    index := index + 4
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   362
!
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   363
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   364
showLiteral:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   365
    index := index + 1.
3443
78ceb5df3dcd class: Decompiler
Claus Gittinger <cg@exept.de>
parents: 3168
diff changeset
   366
    listStream show:byte printString; space.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   367
    self showLit:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   368
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   369
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   370
showLiteralAt:index
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   371
    |offs|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   372
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   373
    offs := bytes at:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   374
    self showLit:offs
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   375
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   376
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   377
showLongOffset:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   378
    |offs|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   379
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   380
    index := index + 1.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   381
    (byte > 127) ifTrue:[
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   382
        offs := byte - 256 - 128
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   383
    ] ifFalse:[
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   384
        offs := byte + 128
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   385
    ].
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   386
    listStream show:offs printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   387
    listStream show:' ('.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   388
    listStream show:(index + offs) printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   389
    listStream show:')'
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   390
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   391
    "Modified: 16.4.1996 / 20:28:30 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   392
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   393
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   394
showLongOffsetLevel:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   395
    self showLongOffset:byte.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   396
    self showNvarNargsAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   397
    index := index + 2
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   398
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   399
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   400
showLsendArgs:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   401
    |litIndex|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   402
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   403
    listStream show:byte printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   404
    listStream show:' '.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   405
    index := index + 1.
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
   406
    litIndex := bytes unsignedInt16At:index MSB:false.
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   407
    listStream show:(literals at:litIndex) printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   408
    index := index + 2
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   409
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   410
    "Modified: 16.4.1996 / 20:28:35 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   411
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   412
1141
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   413
showLsuperSendArgs:byte
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   414
    |litIndex|
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   415
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   416
    listStream show:byte printString.
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   417
    listStream show:' '.
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   418
    index := index + 1.
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
   419
    litIndex := bytes unsignedInt16At:index MSB:false.
1141
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   420
    listStream show:(literals at:litIndex) printString.
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   421
    index := index + 2.
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   422
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
   423
    litIndex := bytes unsignedInt16At:index MSB:false.
1141
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   424
    listStream show:(literals at:litIndex) printString.
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   425
    index := index + 2
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   426
!
87c9fb0b53e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1140
diff changeset
   427
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   428
showNumber16:byte
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
   429
    listStream show:(bytes signedInt16At:index MSB:false) printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   430
    index := index + 2
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   431
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   432
    "Modified: 16.4.1996 / 20:28:37 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   433
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   434
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   435
showNumber:byte
767
9a99b6810f94 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 763
diff changeset
   436
    listStream show:byte signExtendedByteValue printString.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   437
    index := index + 1
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   438
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   439
    "Modified: 16.4.1996 / 20:28:38 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   440
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   441
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   442
showNvarNargsAt:index
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   443
    listStream show:' nv='.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   444
    listStream show:(bytes at:index) printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   445
    listStream show:' na='.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   446
    listStream show:(bytes at:(index + 1)) printString
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   447
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   448
    "Modified: 16.4.1996 / 20:28:40 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   449
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   450
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   451
showOffset:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   452
    |offs|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   453
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   454
    index := index + 1.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   455
    (byte > 127) ifTrue:[
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   456
        offs := byte - 256
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   457
    ] ifFalse:[
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   458
        offs := byte
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   459
    ].
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   460
    listStream show:(offs printString).
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   461
    listStream show:' ('.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   462
    listStream show:(index + offs) printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   463
    listStream show:')'
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   464
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   465
    "Modified: 16.4.1996 / 20:28:43 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   466
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   467
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   468
showOffsetLevel:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   469
    self showOffset:byte.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   470
    self showNvarNargsAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   471
    index := index + 2
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   472
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   473
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   474
showPC
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   475
    outputStream show:(index printStringRadix:10 size:3 fill:(Character space)).
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   476
    outputStream show:': '.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   477
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   478
    "Modified: 4.6.1997 / 12:07:33 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   479
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   480
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   481
showSendArgs:byte
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   482
    listStream show:byte printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   483
    listStream show:' '.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   484
    index := index + 1.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   485
    self showLiteralAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   486
    index := index + 1
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   487
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   488
    "Modified: 16.4.1996 / 20:28:50 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   489
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   490
246
abf09d4821fe new code for faster global pushes
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   491
showSpecialGlobal:byte
abf09d4821fe new code for faster global pushes
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   492
    |specialIndex|
abf09d4821fe new code for faster global pushes
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   493
abf09d4821fe new code for faster global pushes
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   494
    specialIndex := bytes at:index.
abf09d4821fe new code for faster global pushes
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   495
    index := index + 1.
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   496
"/    listStream show:specialIndex printString.
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   497
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   498
    listStream 
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   499
        show:((self specialGlobals) at:specialIndex + 1)
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   500
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   501
    "Modified: 4.6.1997 / 12:18:45 / cg"
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   502
!
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   503
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   504
showSpecialSend:byte
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   505
    |specialIndex|
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   506
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   507
    specialIndex := bytes at:index.
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   508
    index := index + 1.
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   509
"/    listStream show:specialIndex printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   510
    listStream show:'#'.
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   511
    listStream show:((self specialSends) at:specialIndex + 1)
401
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   512
532
4fcfc17f14b4 show all bytes of an op
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   513
    "Modified: 4.6.1997 / 12:34:01 / cg"
246
abf09d4821fe new code for faster global pushes
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   514
!
abf09d4821fe new code for faster global pushes
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   515
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   516
showSuperSendArgs:byte
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   517
    listStream show:byte printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   518
    listStream show:' '.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   519
    index := index + 1.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   520
    self showLiteralAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   521
    index := index + 1.
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   522
    listStream show:' '.
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   523
    self showLiteralAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   524
    index := index + 1
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   525
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   526
    "Modified: 16.4.1996 / 20:28:58 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   527
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   528
3666
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   529
showUnsigned16:byte
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   530
    listStream show:(bytes wordAt:index MSB:false) printString.
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   531
    index := index + 2
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   532
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   533
    "Created: / 17-08-2015 / 14:51:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   534
!
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   535
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   536
showUnsigned32:byte
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   537
    listStream show:(bytes doubleWordAt:index MSB:false) printString.
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   538
    index := index + 2
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   539
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   540
    "Created: / 17-08-2015 / 14:53:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   541
!
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
   542
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   543
showVeryLongOffset:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   544
    |offs|
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   545
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   546
    index := index + 1.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   547
    (byte > 127) ifTrue:[
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   548
        offs := byte - 256 - 256
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   549
    ] ifFalse:[
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   550
        offs := byte + 256
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   551
    ].
293
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   552
    listStream show:offs printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   553
    listStream show:' ('.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   554
    listStream show:(index + offs) printString.
bc0459613b27 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   555
    listStream show:')'
250
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   556
6c26bc3fb154 allow decompile onto a stream
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
   557
    "Modified: 16.4.1996 / 20:29:00 / cg"
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   558
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   559
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   560
showVeryLongOffsetLevel:byte
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   561
    self showVeryLongOffset:byte.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   562
    self showNvarNargsAt:index.
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   563
    index := index + 2
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   564
!
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
   565
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   566
symbolicCodeFor:aByte
401
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   567
    |syms extras lnos sym|
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   568
7ad01559b262 Initial revision
claus
parents:
diff changeset
   569
    syms := #(  retTop         " 0  "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   570
                retNil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   571
                retTrue
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   572
                retFalse
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   573
                ret0
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   574
                retSelf         " 5  "
551
a8a0377b9ceb added #over
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   575
                over
344
ab8b2921d475 fixed homeRet decoding
Claus Gittinger <cg@exept.de>
parents: 342
diff changeset
   576
                homeRetTop
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   577
                LINE
3106
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   578
                LINE16
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   579
                pushNil         " 10 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   580
                pushTrue
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   581
                pushFalse
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   582
                sendSelf
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   583
                pushLit
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   584
                pushSelf        " 15 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   585
                pushNum
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   586
                pushNum16
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   587
                drop
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   588
                send
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   589
                superSend       " 20 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   590
                send0
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   591
                send1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   592
                send2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   593
                send3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   594
                sendDrop        " 25 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   595
                sendDrop0
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   596
                sendDrop1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   597
                sendDrop2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   598
                sendDrop3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   599
                pushMethodArg   " 30 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   600
                pushMethodVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   601
                pushBlockArg
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   602
                pushBlockVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   603
                pushInstVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   604
                pushClassVar    " 35 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   605
                pushGlobal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   606
                storeMethodVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   607
                storeBlockVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   608
                storeInstVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   609
                storeClassVar   " 40 "
356
bb3beb18de1f 6empty slots in GLOBL/CLASSVAR bytecodes removed
Claus Gittinger <cg@exept.de>
parents: 347
diff changeset
   610
                storeGlobal  
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   611
                pushOuterBlockArg
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   612
                pushOuter1BlockArg
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   613
                pushOuter2BlockArg
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   614
                equal           " 45 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   615
                notEqual
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   616
                dup
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   617
                equal0
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   618
                notEqual0
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   619
                falseJump       " 50 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   620
                trueJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   621
                nilJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   622
                notNilJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   623
                jump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   624
                makeBlock       " 55 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   625
                zeroJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   626
                notZeroJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   627
                eqJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   628
                notEqJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   629
                falseJump       " 60 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   630
                trueJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   631
                nilJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   632
                notNilJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   633
                jump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   634
                makeBlock       " 65 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   635
                zeroJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   636
                notZeroJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   637
                eqJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   638
                notEqJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   639
                falseJump       " 70 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   640
                trueJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   641
                nilJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   642
                notNilJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   643
                jump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   644
                makeBlock       " 75 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   645
                zeroJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   646
                notZeroJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   647
                eqJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   648
                notEqJump
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   649
                pushMethodVar1  " 80 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   650
                pushMethodVar2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   651
                pushMethodVar3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   652
                pushMethodVar4
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   653
                pushMethodVar5
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   654
                pushMethodVar6  " 85 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   655
                pushMethodArg1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   656
                pushMethodArg2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   657
                pushMethodArg3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   658
                pushMethodArg4
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   659
                pushInstVar1    " 90 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   660
                pushInstVar2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   661
                pushInstVar3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   662
                pushInstVar4
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   663
                pushInstVar5
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   664
                pushInstVar6    " 95 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   665
                pushInstVar7
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   666
                pushInstVar8
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   667
                pushInstVar9
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   668
                pushInstVar10
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   669
                storeMethodVar1 " 100 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   670
                storeMethodVar2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   671
                storeMethodVar3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   672
                storeMethodVar4
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   673
                storeMethodVar5
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   674
                storeMethodVar6 " 105 "
401
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   675
                nil
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   676
                nil
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   677
                nil
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   678
                nil
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   679
                storeInstVar1   " 110 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   680
                storeInstVar2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   681
                storeInstVar3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   682
                storeInstVar4
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   683
                storeInstVar5
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   684
                storeInstVar6  " 115 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   685
                storeInstVar7
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   686
                storeInstVar8
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   687
                storeInstVar9
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   688
                storeInstVar10
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   689
                push0           " 120 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   690
                push1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   691
                pushMinus1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   692
                sendPlus1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   693
                sendMinus1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   694
                incMethodVar    " 125 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   695
                decMethodVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   696
                retNum
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   697
                pushOuterBlockVar       "16r80"
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   698
                storeOuterBlockVar
655
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   699
                'send1 #='            " 130 "
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   700
                'send1 #+'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   701
                'send1 #~='
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   702
                'send1 #-'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   703
                'send0 #class'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   704
                'send1 #at:'          " 135 "
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   705
                'send2 #at:put:'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   706
                'send1 #bitAnd:'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   707
                'send1 #bitOr:'
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   708
                push2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   709
                pushBlockArg1   " 140 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   710
                pushBlockArg2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   711
                pushBlockArg3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   712
                pushBlockArg4
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   713
                pushContext             "16r90"
655
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   714
                'send1 #>'          " 145 "
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   715
                'send1 #>='
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   716
                'send1 #<'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   717
                'send1 #<='
401
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   718
                nil
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   719
                nil             " 150 "
655
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   720
                'send0 #value'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   721
                'send1 #value:'
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   722
                'send0 #size'
401
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   723
                nil
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   724
                nil             " 155 "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   725
                make0Block             
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   726
                makeNILBlock
401
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   727
                nil             " 158 "
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
   728
                nil             " 159 "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   729
                retMvar1        " 160 " "16rA0"
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   730
                retMvar2        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   731
                retMvar3        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   732
                retMvar4        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   733
                retMvar5        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   734
                retMvar6        " 165 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   735
                retIvar1        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   736
                retIvar2        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   737
                retIvar3        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   738
                retIvar4        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   739
                retIvar5        " 170 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   740
                retIvar6        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   741
                retIvar7        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   742
                retIvar8        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   743
                retMarg1        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   744
                retMarg2        " 175 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   745
                pushClassInstVar
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   746
                storeClassInstVar
1140
40bb7432cea2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
   747
                'send2 #value:value:'
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   748
                not
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   749
                sendSelf0       " 180 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   750
                sendSelf1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   751
                sendSelf2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   752
                sendSelf3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   753
                sendSelfDrop0   
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   754
                sendSelfDrop1   " 185 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   755
                sendSelfDrop2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   756
                sendSelfDrop3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   757
                isNil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   758
                notNil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   759
                falseJumpAbs    " 190 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   760
                trueJumpAbs     
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   761
                nilJumpAbs     
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   762
                notNilJumpAbs   
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   763
                jumpAbs        
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   764
                makeBlockAbs    " 195 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   765
                zeroJumpAbs
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   766
                notZeroJumpAbs
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   767
                eqJumpAbs
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   768
                notEqJumpAbs    " 199 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   769
                pushGlobal      " 200 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   770
                pushLLit
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   771
                jmpFalseL
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   772
                jmpTrueL
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
   773
                vl_op
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   774
                lsend           "   205 " 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   775
                lsuperSend
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   776
                lsendSelf         
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   777
                pushGT0
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   778
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   779
                sendArrayNew    "   210 " 
655
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   780
                'send0 #basicNew'      
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   781
                sendGT0
655
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   782
                'send0 #new'
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   783
                sendBasicNewN
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   784
                sendNewN        "   215 " 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   785
                sendLogAnd
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   786
                sendLogOr
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   787
                pushGlobL
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   788
                storeGlobL
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   789
                nil              "  220 " 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   790
                nil                  
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   791
                pushLit1             
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   792
                pushLit2              
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   793
                pushLit3             
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   794
                pushLit4             
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   795
                pushLit5             
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   796
                pushLit6             
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   797
                pushLit7            
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   798
                pushLit8            
655
3dcaf2f42818 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 573
diff changeset
   799
                'send1 #*'          "   230 "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   800
                sendSpecial      "   231 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   801
                pushBlockVar1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   802
                pushBlockVar2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   803
                pushBlockVar3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   804
                storeBlockVar1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   805
                storeBlockVar2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   806
                storeBlockVar3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   807
                refCheck
2751
12e5d1a3ef5a changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2431
diff changeset
   808
                pushMethodLocal
12e5d1a3ef5a changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2431
diff changeset
   809
                storeMethodLocal      " 240 "
3168
6e86e974bb40 class: Decompiler
Stefan Vogel <sv@exept.de>
parents: 3106
diff changeset
   810
                storeBlockLocal       " 241 "
6e86e974bb40 class: Decompiler
Stefan Vogel <sv@exept.de>
parents: 3106
diff changeset
   811
                storeOuterBlockLocal  " 242 "
6e86e974bb40 class: Decompiler
Stefan Vogel <sv@exept.de>
parents: 3106
diff changeset
   812
                swap                  " 243 "
3645
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
   813
                SOURCEPOS8            " 244 "
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
   814
                SOURCEPOS16           " 245 "
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
   815
                SOURCEPOS32           " 246 "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   816
              ).
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   817
7ad01559b262 Initial revision
claus
parents:
diff changeset
   818
    lnos := #(  false          " 0  "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   819
                false   
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   820
                false   
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   821
                false   
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   822
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   823
                false          " 5  "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   824
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   825
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   826
                true
3106
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
   827
                true
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   828
                false          " 10 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   829
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   830
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   831
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   832
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   833
                false          " 15 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   834
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   835
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   836
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   837
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   838
                true           " 20 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   839
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   840
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   841
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   842
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   843
                true           " 25 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   844
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   845
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   846
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   847
                true 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   848
                false          " 30 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   849
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   850
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   851
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   852
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   853
                false          " 35 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   854
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   855
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   856
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   857
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   858
                false           " 40 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   859
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   860
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   861
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   862
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   863
                false           " 45 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   864
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   865
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   866
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   867
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   868
                false       " 50 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   869
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   870
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   871
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   872
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   873
                false       " 55 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   874
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   875
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   876
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   877
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   878
                false       " 60 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   879
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   880
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   881
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   882
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   883
                false       " 65 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   884
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   885
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   886
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   887
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   888
                false       " 70 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   889
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   890
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   891
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   892
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   893
                false       " 75 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   894
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   895
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   896
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   897
                false 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   898
                false  " 80 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   899
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   900
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   901
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   902
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   903
                false  " 85 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   904
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   905
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   906
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   907
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   908
                false    " 90 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   909
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   910
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   911
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   912
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   913
                false    " 95 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   914
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   915
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   916
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   917
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   918
                false " 100 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   919
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   920
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   921
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   922
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   923
                false " 105 "
347
c41b9c9c0e50 oops - sendWIDTH & sendHEIGHT have lineNumber info
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   924
                true
c41b9c9c0e50 oops - sendWIDTH & sendHEIGHT have lineNumber info
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   925
                true
c41b9c9c0e50 oops - sendWIDTH & sendHEIGHT have lineNumber info
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   926
                true
c41b9c9c0e50 oops - sendWIDTH & sendHEIGHT have lineNumber info
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   927
                true
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   928
                false   " 110 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   929
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   930
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   931
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   932
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   933
                false  " 115 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   934
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   935
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   936
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   937
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   938
                false           " 120 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   939
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   940
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   941
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   942
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   943
                true    " 125 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   944
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   945
                false
1148
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   946
                false              "/ 128 pushOuterBlockVar
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   947
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   948
                true          " 130 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   949
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   950
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   951
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   952
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   953
                true          " 135 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   954
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   955
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   956
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   957
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   958
                false   " 140 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   959
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   960
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   961
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   962
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   963
                true          " 145 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   964
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   965
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   966
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   967
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   968
                true        " 150 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   969
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   970
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   971
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   972
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   973
                true             " 155 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   974
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   975
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   976
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   977
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   978
                false        " 160 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   979
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   980
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   981
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   982
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   983
                false        " 165 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   984
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   985
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   986
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   987
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   988
                false        " 170 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   989
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   990
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   991
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   992
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   993
                false        " 175 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   994
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   995
                false
1140
40bb7432cea2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
   996
                true
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   997
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   998
                true         " 180 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   999
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1000
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1001
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1002
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1003
                true         " 185 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1004
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1005
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1006
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1007
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1008
                false         " 190 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1009
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1010
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1011
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1012
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1013
                false         " 195 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1014
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1015
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1016
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1017
                false         " 199 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1018
                false         " 200 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1019
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1020
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1021
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1022
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1023
                true            " 205 " 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1024
                true
1258
138039453522 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
  1025
                true
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1026
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1027
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1028
                false           " 210 "      " arrayNew "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1029
                true                         " basicNew "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1030
                true                         " > 0 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1031
                true                         " new "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1032
                true                         " basicNew: "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1033
                true            " 215 "      " new: "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1034
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1035
                true
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1036
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1037
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1038
                false           " 220 " 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1039
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1040
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1041
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1042
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1043
                false           " 225 " 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1044
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1045
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1046
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1047
                false           " 229 " 
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1048
                true            " 230 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1049
                true            " 231 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1050
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1051
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1052
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1053
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1054
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1055
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1056
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1057
                false
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1058
                false           " 240 "
2751
12e5d1a3ef5a changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2431
diff changeset
  1059
                false           " 241 "
2753
31833dfb5677 changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2751
diff changeset
  1060
                false           " 242 "
3168
6e86e974bb40 class: Decompiler
Stefan Vogel <sv@exept.de>
parents: 3106
diff changeset
  1061
                false           " 243 "
3645
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
  1062
                false           " 244 "
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
  1063
                false           " 245 "
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
  1064
                false           " 246 "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1065
              ).
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
  1066
7ad01559b262 Initial revision
claus
parents:
diff changeset
  1067
    extras := #(nil             " 0  "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1068
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1069
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1070
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1071
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1072
                nil             " 5  "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1073
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1074
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1075
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1076
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1077
                nil             " 10 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1078
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1079
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1080
                sendArgs
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1081
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1082
                nil             " 15 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1083
                number
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1084
                number16
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1085
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1086
                sendArgs
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1087
                superSendArgs   " 20 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1088
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1089
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1090
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1091
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1092
                sendArgs        " 25 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1093
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1094
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1095
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1096
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1097
                index           " 30 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1098
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1099
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1100
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1101
                instvarIndex
356
bb3beb18de1f 6empty slots in GLOBL/CLASSVAR bytecodes removed
Claus Gittinger <cg@exept.de>
parents: 347
diff changeset
  1102
                literal         " 35 "
bb3beb18de1f 6empty slots in GLOBL/CLASSVAR bytecodes removed
Claus Gittinger <cg@exept.de>
parents: 347
diff changeset
  1103
                literal
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1104
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1105
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1106
                instvarIndex
356
bb3beb18de1f 6empty slots in GLOBL/CLASSVAR bytecodes removed
Claus Gittinger <cg@exept.de>
parents: 347
diff changeset
  1107
                literal         " 40 "
bb3beb18de1f 6empty slots in GLOBL/CLASSVAR bytecodes removed
Claus Gittinger <cg@exept.de>
parents: 347
diff changeset
  1108
                literal     
573
7aadeb921f21 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 551
diff changeset
  1109
                levelIndex
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1110
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1111
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1112
                nil             " 45 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1113
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1114
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1115
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1116
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1117
                offset          " 50 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1118
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1119
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1120
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1121
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1122
                offsetLevel     " 55 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1123
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1124
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1125
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1126
                offset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1127
                longOffset      " 60 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1128
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1129
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1130
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1131
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1132
                longOffsetLevel " 65 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1133
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1134
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1135
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1136
                longOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1137
                veryLongOffset  " 70 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1138
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1139
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1140
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1141
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1142
                veryLongOffsetLevel  " 75 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1143
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1144
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1145
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1146
                veryLongOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1147
                nil             " 80 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1148
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1149
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1150
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1151
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1152
                nil             " 85 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1153
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1154
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1155
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1156
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1157
                nil             " 90 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1158
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1159
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1160
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1161
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1162
                nil             " 95 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1163
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1164
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1165
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1166
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1167
                nil             " 100 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1168
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1169
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1170
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1171
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1172
                nil             " 105 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1173
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1174
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1175
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1176
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1177
                nil             " 110 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1178
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1179
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1180
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1181
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1182
                nil             " 115 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1183
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1184
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1185
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1186
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1187
                nil             " 120 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1188
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1189
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1190
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1191
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1192
                index           " 125 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1193
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1194
                number
1148
a008a06fbbc5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
  1195
                levelIndex      "/ 128 pushOuterBlockVar
573
7aadeb921f21 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 551
diff changeset
  1196
                levelIndex
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1197
                nil             " 130 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1198
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1199
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1200
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1201
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1202
                nil             " 135 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1203
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1204
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1205
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1206
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1207
                nil             " 140 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1208
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1209
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1210
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1211
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1212
                nil             " 145 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1213
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1214
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1215
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1216
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1217
                nil             " 150 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1218
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1219
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1220
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1221
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1222
                nil             " 155 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1223
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1224
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1225
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1226
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1227
                nil             " 160 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1228
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1229
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1230
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1231
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1232
                nil             " 165 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1233
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1234
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1235
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1236
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1237
                nil             " 170 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1238
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1239
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1240
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1241
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1242
                nil             " 175 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1243
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1244
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1245
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1246
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1247
                literal         " 180 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1248
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1249
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1250
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1251
                literal         
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1252
                literal         " 185 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1253
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1254
                literal
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1255
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1256
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1257
                absOffset       " 190 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1258
                absOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1259
                absOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1260
                absOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1261
                absOffset
573
7aadeb921f21 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 551
diff changeset
  1262
                absOffsetLevel  " 195 "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1263
                absOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1264
                absOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1265
                absOffset
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1266
                absOffset       " 199 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1267
                specialGlobal   " 200 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1268
                literal16
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1269
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1270
                nil
1793
5e4a4284c722 preps for vl literals
Claus Gittinger <cg@exept.de>
parents: 1789
diff changeset
  1271
                extraOp
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1272
                lsendArgs       " 205 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1273
                lsuperSendArgs
1258
138039453522 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
  1274
                lsendArgs
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1275
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1276
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1277
                nil             " 210 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1278
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1279
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1280
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1281
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1282
                nil             " 215 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1283
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1284
                nil
356
bb3beb18de1f 6empty slots in GLOBL/CLASSVAR bytecodes removed
Claus Gittinger <cg@exept.de>
parents: 347
diff changeset
  1285
                literal16        
bb3beb18de1f 6empty slots in GLOBL/CLASSVAR bytecodes removed
Claus Gittinger <cg@exept.de>
parents: 347
diff changeset
  1286
                literal16     
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1287
                nil             " 220 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1288
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1289
                lit1
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1290
                lit2
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1291
                lit3
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1292
                lit4            " 225 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1293
                lit5
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1294
                lit6
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1295
                lit7
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1296
                lit8
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1297
                nil             " 230 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1298
                specialSend     " 231 "
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1299
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1300
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1301
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1302
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1303
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1304
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1305
                nil
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1306
                index
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1307
                index           " 240 "
2751
12e5d1a3ef5a changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2431
diff changeset
  1308
                index           " 241 "
2753
31833dfb5677 changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2751
diff changeset
  1309
                levelIndex      " 242 "
3168
6e86e974bb40 class: Decompiler
Stefan Vogel <sv@exept.de>
parents: 3106
diff changeset
  1310
                nil             " 243 "
3645
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
  1311
                index           " 244 "
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
  1312
                unsigned16      " 245 "
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
  1313
                unsigned32      " 246 "
342
fe32a900f0a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
  1314
             ).
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
  1315
401
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1316
    sym := syms at:(aByte + 1).
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1317
    sym isNil ifTrue:[
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1318
        extra := nil.
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1319
        hasLineNo := nil.
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1320
    ] ifFalse:[
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1321
        extra := extras at:(aByte + 1).
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1322
        hasLineNo := lnos at:(aByte + 1).
f85fe04ce607 changes for special sends
Claus Gittinger <cg@exept.de>
parents: 384
diff changeset
  1323
    ].
3168
6e86e974bb40 class: Decompiler
Stefan Vogel <sv@exept.de>
parents: 3106
diff changeset
  1324
    ^ sym.
164
b511f22fea3b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
  1325
2751
12e5d1a3ef5a changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2431
diff changeset
  1326
    "Modified: / 02-09-1995 / 00:12:11 / claus"
2753
31833dfb5677 changed: #symbolicCodeFor:
Claus Gittinger <cg@exept.de>
parents: 2751
diff changeset
  1327
    "Modified: / 25-10-2011 / 21:58:24 / cg"
3645
695fc26d7207 Block source position support [1/2]: generate SOURCEPOS pseudoinstruction before each MAKE_BLOCK insn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3443
diff changeset
  1328
    "Modified: / 31-05-2015 / 04:05:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
  1329
! !
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
  1330
378
450a65b641b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
  1331
!Decompiler class methodsFor:'documentation'!
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
  1332
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
  1333
version
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
  1334
    ^ '$Header$'
2423
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
  1335
!
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
  1336
76872ad5c630 changed: #decompile:to:
Claus Gittinger <cg@exept.de>
parents: 2128
diff changeset
  1337
version_CVS
3728
9c1241d837e4 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 3443
diff changeset
  1338
    ^ '$Header$'
3666
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
  1339
!
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
  1340
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
  1341
version_HG
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
  1342
eac1334347b1 Fix in decompiler for SOURCEPOS? pseudo-insns.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3645
diff changeset
  1343
    ^ '$Changeset: <not expanded> $'
217
eba0ee7232aa new opcodes
Claus Gittinger <cg@exept.de>
parents: 206
diff changeset
  1344
! !
3106
119f0ff4b41d Fixed Decompiler: correctly show LINE16 pseudo insn...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2753
diff changeset
  1345