projects
/
hs-java.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6e74744
)
asm: `goto' has an word16 immediate
author
Bernhard Urban
<lewurm@gmail.com>
Sun, 1 Apr 2012 23:42:48 +0000
(
01:42
+0200)
committer
Ilya Portnov
<portnov@iportnov.ru>
Sat, 19 May 2012 14:50:32 +0000
(20:50 +0600)
JVM/Assembler.hs
patch
|
blob
|
history
diff --git
a/JVM/Assembler.hs
b/JVM/Assembler.hs
index 7ac59c64a0915734a64e55f261d51ac32e9f95bf..10bfd174489c75dd2719ee0ec43c833dfbd47870 100644
(file)
--- a/
JVM/Assembler.hs
+++ b/
JVM/Assembler.hs
@@
-242,7
+242,7
@@
data Instruction =
| IF CMP -- ^ 153, 154, 155, 156, 157, 158
| IF_ICMP CMP Word16 -- ^ 159, 160, 161, 162, 163, 164
| IF_ACMP CMP Word16 -- ^ 165, 166
| IF CMP -- ^ 153, 154, 155, 156, 157, 158
| IF_ICMP CMP Word16 -- ^ 159, 160, 161, 162, 163, 164
| IF_ACMP CMP Word16 -- ^ 165, 166
- | GOTO
-- ^ 167
+ | GOTO
Word16
-- ^ 167
| JSR Word16 -- ^ 168
| RET -- ^ 169
| TABLESWITCH Word32 Word32 Word32 [Word32] -- ^ 170
| JSR Word16 -- ^ 168
| RET -- ^ 169
| TABLESWITCH Word32 Word32 Word32 [Word32] -- ^ 170
@@
-480,7
+480,7
@@
instance BinaryState Integer Instruction where
put (IF_ACMP C_NE x) = put1 166 x
put (IF_ACMP c _) = fail $ "No such instruction: IF_ACMP " ++ show c
put (IF_ICMP c x) = putByte (fromIntegral $ 159 + fromEnum c) >> put x
put (IF_ACMP C_NE x) = put1 166 x
put (IF_ACMP c _) = fail $ "No such instruction: IF_ACMP " ++ show c
put (IF_ICMP c x) = putByte (fromIntegral $ 159 + fromEnum c) >> put x
- put
GOTO = putByte 167
+ put
(GOTO x) = put1 167 x
put (JSR x) = put1 168 x
put RET = putByte 169
put (TABLESWITCH def low high offs) = do
put (JSR x) = put1 168 x
put RET = putByte 169
put (TABLESWITCH def low high offs) = do
@@
-646,7
+646,7
@@
instance BinaryState Integer Instruction where
152 -> return $ DCMP C_GT
165 -> IF_ACMP C_EQ <$> get
166 -> IF_ACMP C_NE <$> get
152 -> return $ DCMP C_GT
165 -> IF_ACMP C_EQ <$> get
166 -> IF_ACMP C_NE <$> get
- 167 ->
return GOTO
+ 167 ->
GOTO <$> get
168 -> JSR <$> get
169 -> return RET
170 -> do
168 -> JSR <$> get
169 -> return RET
170 -> do