projects
/
mate.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lazy classloading: yet another bug
[mate.git]
/
Mate
/
X86TrapHandling.hs
diff --git
a/Mate/X86TrapHandling.hs
b/Mate/X86TrapHandling.hs
index 23be786ee65cfce828afe2bebd6651c78dd831af..bf4b28831a4ef44f0b07f7f69dbc6b5941ef4ed7 100644
(file)
--- a/
Mate/X86TrapHandling.hs
+++ b/
Mate/X86TrapHandling.hs
@@
-36,6
+36,8
@@
mateHandler reip reax rebx resi = do
patchWithHarpy patchStaticCall reip >>= delTrue
(Just (StaticField _)) ->
staticFieldHandler reip >>= delTrue
patchWithHarpy patchStaticCall reip >>= delTrue
(Just (StaticField _)) ->
staticFieldHandler reip >>= delTrue
+ (Just (ObjectField patcher)) ->
+ patchWithHarpy patcher reip >>= delTrue
(Just (InstanceOf cn)) ->
patchWithHarpy (`patchInstanceOf` cn) reip >>= delFalse
(Just (NewObject cn)) ->
(Just (InstanceOf cn)) ->
patchWithHarpy (`patchInstanceOf` cn) reip >>= delFalse
(Just (NewObject cn)) ->
@@
-55,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))
+ delTrue = (\nreip -> return (False, nreip))
-- TODO: FIXME
delFalse = (\nreip -> return (False, nreip))
delFalse = (\nreip -> return (False, nreip))