asm/extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 15 Dec 2015 23:18:02 +0000
changeset 3 483729eb4432
child 4 f2d0d2859193
permissions -rw-r--r--
Initial port ot Igor Stasenko's AsmJit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:dragonfly/asm' }"!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
asAJOperand
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
    "Convert receiver into operand: a signed immediate"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
    ^ AJImmediate new ivalue: self
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
asByte
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    ^ self asTwosComplement: 16rFF
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
asDoubleWord
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    ^ self asTwosComplement: 16rFFFFFFFF
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
asImm
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    "Convert integer value into a signed immediate operand"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    ^ AJImmediate new ivalue: self
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
asImm16
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    "Convert integer value into a signed immediate word operand "
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    ^ AJImmediate new ivalue: self; size: 2
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
asImm32
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    "Convert integer value into a signed immediate operand"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    ^ AJImmediate new ivalue: self; size: 4
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
asImm8
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    "Convert integer value into a signed immediate operand"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    ^ AJImmediate new ivalue: self; size: 1
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
asQuadWord
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    ^ self asTwosComplement: 16rFFFFFFFFFFFFFFFF
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
asTwosComplement: mask
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    "return the two's completemented cropped version.
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    Example for a byte value:
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
        -5 asTwosComplement: 16rFF "
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    | bound |
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    bound := (mask + 1).
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    self * 2 >= bound 
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
        ifTrue: [Error signal: self printString , ' too big for signed ', mask highBit printString,  'bit value'].
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
         
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    (self >= 0)
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
        ifTrue: [ ^ self bitAnd: mask ].
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
        
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    self * 2 < bound negated 
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
        ifTrue: [Error signal: self printString , ' too small for signed ', mask highBit printString, 'bit value'].
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
        
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ^ (self + mask + 1) bitAnd: mask
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
asUImm
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    "Convert integer value into an unsigned immediate operand"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    ^ AJImmediate new uvalue: self
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
asUImm16
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    "Convert integer value into an unsigned immediate operand"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    ^ AJImmediate new uvalue: self; size: 2
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
asUImm32
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    "Convert integer value into an unsigned immediate operand"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    ^ AJImmediate new uvalue: self; size: 4
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
asUImm8
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
    "Convert integer value into an unsigned immediate operand"
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
    ^ AJImmediate new uvalue: self; size: 1
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
asWord
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    ^ self asTwosComplement: 16rFFFF
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
bin
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    "Print the receiver as hex, prefixed with 2r."
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    ^self storeStringBase: 2
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
isByte
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    ^ self >= 0 and: [ self <= 255 ]
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
!Integer methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
printAsOperandOn: aStream
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    aStream print: self.
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
!WriteStream methodsFor:'*AsmJit-Extension'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
asLineStream
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    ^ AJLineStream on: self
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
! !
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
!jv_dragonfly_asm class methodsFor:'documentation'!
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
extensionsVersion_HG
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
    ^ '$Changeset: <not expanded> $'
483729eb4432 Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
! !