1. 17 7月, 2013 1 次提交
  2. 16 7月, 2013 1 次提交
  3. 15 7月, 2013 4 次提交
  4. 14 7月, 2013 2 次提交
    • A
      Fix running code via '-Z jit' · 21d70984
      Alex Crichton 提交于
      21d70984
    • B
      Use concrete types in glue functions · e56b3691
      Björn Steinbrink 提交于
      We used to have concrete types in glue functions, but the way we used
      to implement that broke inlining of those functions. To fix that, we
      converted all glue to just take an i8* and always casted to that type.
      
      The problem with the old implementation was that we made a wrong
      assumption about the glue functions, taking it for granted that they
      always take an i8*, because that's the function type expected by the
      TyDesc fields. Therefore, we always ended up with some kind of cast.
      
      But actually, we can initially have the glue with concrete types and
      only cast the functions to the generic type once we actually emit the
      TyDesc data.
      
      That means that for glue calls that can be statically resolved, we don't
      need any casts, unless the glue uses a simplified type. In that case we
      cast the argument. And for glue calls that are resolved at runtime, we
      cast the argument to i8*, because that's what the glue function in the
      TyDesc expects.
      
      Since most of out glue calls are static, this saves a lot of bitcasts.
      The size of the unoptimized librustc.ll goes down by 240k lines.
      e56b3691
  5. 13 7月, 2013 5 次提交
  6. 12 7月, 2013 16 次提交
  7. 11 7月, 2013 5 次提交
  8. 10 7月, 2013 5 次提交
  9. 09 7月, 2013 1 次提交