This change fixes a serious performance regression
with reflect.Value growing to 4 words instead of 3.
The json benchmark was ~50% slower, with this change
it is ~5% slower (and the binary is 0.5% larger).
Longer term, we probably need to rethink our copy
generation. Using REP is really expensive time-wise.
But inlining the copy grows the binary.
R=golang-codereviews, r
CC=golang-codereviews
https://golang.org/cl/
44990043
fatal("componentgen: not a TFIELD: %lT", t);
fldcount++;
}
- if(fldcount == 0 || fldcount > 3)
+ if(fldcount == 0 || fldcount > 4)
goto no;
break;