Changes between Version 9 and Version 10 of Commentary/Compiler/NewCodeGenStupidity


Ignore:
Timestamp:
Mar 23, 2011 3:31:25 PM (4 years ago)
Author:
ezyang
Comment:

multiple reloads

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/NewCodeGenStupidity

    v9 v10  
    7373
    7474This seems to happen whenever there's a `newCAF` ccall.
     75
     76We also seem to reload these values multiple times.
     77
     78{{{
     79        _c7Yt::I32 = Hp - 4;
     80        I32[Sp - 28] = _c7Yt::I32;
     81        foreign "ccall"
     82          newCAF((BaseReg, PtrHint), (R1, PtrHint))[_unsafe_call_];
     83        _c7Yt::I32 = I32[Sp - 28];
     84        I32[R1 + 4] = _c7Yt::I32;
     85        I32[R1] = stg_IND_STATIC_info;
     86        _c7Yt::I32 = I32[Sp - 28];  <--- totally unnecessary
     87        I32[Sp - 8] = _c7Yt::I32;
     88        I32[Sp - 12] = stg_upd_frame_info;
     89}}}
    7590
    7691== Up and Down ==