summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
c0425d5)
it's already correct in the table, noob...
pop eax -- this pointer
let (cname, fname) = buildFieldOffset cls x
offset <- liftIO $ getFieldOffset cname fname
pop eax -- this pointer
let (cname, fname) = buildFieldOffset cls x
offset <- liftIO $ getFieldOffset cname fname
- push (Disp (fromIntegral $ offset * 4), eax) -- get field
+ push (Disp (fromIntegral $ offset), eax) -- get field
emit (PUTFIELD x) = do
pop ebx -- value to write
pop eax -- this pointer
let (cname, fname) = buildFieldOffset cls x
offset <- liftIO $ getFieldOffset cname fname
emit (PUTFIELD x) = do
pop ebx -- value to write
pop eax -- this pointer
let (cname, fname) = buildFieldOffset cls x
offset <- liftIO $ getFieldOffset cname fname
- mov (Disp (fromIntegral $ offset * 4), eax) ebx -- set field
+ mov (Disp (fromIntegral $ offset), eax) ebx -- set field
emit IADD = do pop ebx; pop eax; add eax ebx; push eax
emit ISUB = do pop ebx; pop eax; sub eax ebx; push eax
emit IADD = do pop ebx; pop eax; add eax ebx; push eax
emit ISUB = do pop ebx; pop eax; sub eax ebx; push eax