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


Ignore:
Timestamp:
Mar 23, 2011 3:31:25 PM (3 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 ==