1. 23 May, 2009 9 commits
  2. 22 May, 2009 12 commits
  3. 21 May, 2009 15 commits
  4. 20 May, 2009 4 commits
    • Robert Griesemer's avatar
      xcode config files, self-describing · e6cddeae
      Robert Griesemer authored
      R=r
      DELTA=250  (250 added, 0 deleted, 0 changed)
      OCL=29120
      CL=29127
      e6cddeae
    • Russ Cox's avatar
      reflect bug: NewZeroValue was refusing to create slices. · 2d5d4a1b
      Russ Cox authored
      as far as I can tell there's no reason not to.
      
      the Nillable test was succeeding because NewZeroValue
      returned the nil interface value and the type guard
      was letting it through.  the only change in the test is
      more detail in the print.
      
      R=r
      DELTA=8  (0 added, 7 deleted, 1 changed)
      OCL=29124
      CL=29126
      2d5d4a1b
    • Russ Cox's avatar
      ifaceop was being called with integers · a39bae09
      Russ Cox authored
      that came from two different enums.
      spilt into ifacecvt and ifaceop depending
      on which enum the argument is.
      
      R=ken
      OCL=29122
      CL=29122
      a39bae09
    • Russ Cox's avatar
      change representation of interface values. · 2da5022b
      Russ Cox authored
      this is not a user-visible change.
      
      before, all interface values were
      
      	struct Itype {
      		Sigt *type;
      		Sigi *inter;
      		void *method[n];
      	}
      
      	struct Iface {
      		void *addr;
      		Itype *itype;
      	}
      
      the itype is basically a vtable, but it's unnecessary
      if the static type is interface{ }.
      for interface values with static type empty, the
      new representation is
      
      	struct Eface {
      		void *addr;
      		Sigt *type;
      	}
      
      this complicates the code somewhat, but
      it reduces the number of Itypes that
      have to be computed and cached,
      it opens up opportunities to avoid function
      calls in a few common cases,
      and it will make it possible to lay out
      interface{} values at compile time,
      which i think i'll need for the new reflection.
      
      R=ken
      OCL=28701
      CL=29121
      2da5022b