1. 20 May, 2009 6 commits
    • 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
    • Russ Cox's avatar
      fix implicit star for range on *map, *[]. · 47e51527
      Russ Cox authored
      do not update lineno from ONAME nodes,
      	because they have declaration lineno not use.
      show actual name in top-level statement error.
      
      before
      runtime.a:7: x.go:5: walkstate: NAME not a top level statement
      
      after
      x.go:14: walkstate: runtime.Goexit not a top level statement
      
      R=ken
      OCL=29113
      CL=29116
      47e51527
    • Russ Cox's avatar
      clear out pkg tree in clean.bash. · 04d8605c
      Russ Cox authored
      rename place-holder to _place_holder_ so it can be avoided.
      
      R=r
      DELTA=5  (2 added, 2 deleted, 1 changed)
      OCL=29093
      CL=29097
      04d8605c
    • Robert Griesemer's avatar
      removed TODO · c1fd171d
      Robert Griesemer authored
      (new rules on type compatibility cover this already)
      
      DELTA=2  (0 added, 2 deleted, 0 changed)
      OCL=29094
      CL=29096
      c1fd171d
    • Robert Griesemer's avatar
      new method set rules · 56809d0a
      Robert Griesemer authored
      DELTA=63  (27 added, 6 deleted, 30 changed)
      OCL=29065
      CL=29091
      56809d0a
    • Robert Griesemer's avatar
      more useful error string · 1b3b51f7
      Robert Griesemer authored
      R=r
      DELTA=5  (4 added, 0 deleted, 1 changed)
      OCL=29088
      CL=29090
      1b3b51f7
  2. 19 May, 2009 10 commits
  3. 18 May, 2009 11 commits
  4. 17 May, 2009 1 commit
  5. 16 May, 2009 7 commits
  6. 15 May, 2009 5 commits