projects
/
mate.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
96f243d
)
trapmap: delete some entries
author
Bernhard Urban
<lewurm@gmail.com>
Mon, 27 Aug 2012 10:08:30 +0000
(12:08 +0200)
committer
Bernhard Urban
<lewurm@gmail.com>
Mon, 27 Aug 2012 10:08:30 +0000
(12:08 +0200)
Mate/X86TrapHandling.hs
patch
|
blob
|
history
diff --git
a/Mate/X86TrapHandling.hs
b/Mate/X86TrapHandling.hs
index ecf346a2771e7249525ffadfd9d36a1ecd528efb..7a5c5494a57f6011b8b9ad45622b3e95a22210c3 100644
(file)
--- a/
Mate/X86TrapHandling.hs
+++ b/
Mate/X86TrapHandling.hs
@@
-33,7
+33,7
@@
mateHandler reip reax rebx resi = do
let reipw32 = fromIntegral reip
(deleteMe, ret_nreip) <- case M.lookup reipw32 tmap of
(Just (StaticMethod patcher)) ->
let reipw32 = fromIntegral reip
(deleteMe, ret_nreip) <- case M.lookup reipw32 tmap of
(Just (StaticMethod patcher)) ->
- patchWithHarpy patcher reip >>= del
Tru
e
+ patchWithHarpy patcher reip >>= del
Fals
e
(Just (StaticField _)) ->
staticFieldHandler reip >>= delTrue
(Just (ObjectField patcher)) ->
(Just (StaticField _)) ->
staticFieldHandler reip >>= delTrue
(Just (ObjectField patcher)) ->
@@
-44,10
+44,10
@@
mateHandler reip reax rebx resi = do
patchWithHarpy patcher reip >>= delTrue
(Just (VirtualCall False mi io_offset)) ->
patchWithHarpy (patchInvoke mi reax reax io_offset) reip
patchWithHarpy patcher reip >>= delTrue
(Just (VirtualCall False mi io_offset)) ->
patchWithHarpy (patchInvoke mi reax reax io_offset) reip
- >>= del
Tru
e
+ >>= del
Fals
e
(Just (VirtualCall True mi io_offset)) ->
patchWithHarpy (patchInvoke mi rebx reax io_offset) reip
(Just (VirtualCall True mi io_offset)) ->
patchWithHarpy (patchInvoke mi rebx reax io_offset) reip
- >>= del
Tru
e
+ >>= del
Fals
e
Nothing -> case resi of
0x13371234 -> return (-1) >>= delFalse
_ -> error $ "getTrapType: abort :-( " ++ (showHex reip ". ")
Nothing -> case resi of
0x13371234 -> return (-1) >>= delFalse
_ -> error $ "getTrapType: abort :-( " ++ (showHex reip ". ")
@@
-57,7
+57,7
@@
mateHandler reip reax rebx resi = do
else return ()
return ret_nreip
where
else return ()
return ret_nreip
where
- delTrue = (\nreip -> return (
False, nreip)) -- TODO: FIXME
+ delTrue = (\nreip -> return (
True, nreip))
delFalse = (\nreip -> return (False, nreip))
delFalse = (\nreip -> return (False, nreip))