&$*@^! Google!  Apparently "publish to the web" doesn't mean publish to the
web when you're inside Google.

But I can publish to a pdf and then attach it...

On Wed, Feb 1, 2017 at 5:24 PM, Caleb Spare <cesp...@gmail.com> wrote:

> Your document is not accessible to me. (Google-internal?)
>
> On Wed, Feb 1, 2017 at 5:18 PM, 'Keith Randall' via golang-nuts
> <golang-nuts@googlegroups.com> wrote:
> > I wrote up a proto-proposal for something like this a while ago.
> >
> > https://docs.google.com/a/google.com/document/d/18nu6QTr-
> ACYr5AiyP6x31SkXvuJZZaZ12lnvPTEQfgQ/pub
> >
> > It has a few numbers worth looking at in it.
> >
> > This proposal was before the fully precise GC we have today.  It needs to
> > have special GC marking bits for string pointer words (like we did for
> > interface data words so long ago: go1.3ish).  I'm not sure we could get
> it
> > to work today.
> >
> > On Wednesday, February 1, 2017 at 10:46:05 AM UTC-8, Ian Lance Taylor
> wrote:
> >>
> >> On Wed, Feb 1, 2017 at 10:38 AM, Eliot Hedeman
> >> <eliot.d...@gmail.com> wrote:
> >> > Ok, I'm going to try to restate the issues raised and answer them one
> by
> >> > one. If I misunderstand, please let me know.
> >> >
> >> > 1. The GC needs to know if a pointer is actually a pointer.
> >> > Solution: Check if the high bit is set. If it is, you know for sure
> that
> >> > it
> >> > is not a pointer.
> >> > It actually doesn't matter if the cpu ignores the top 16 bits or not.
> >> > The
> >> > point is that the top 8 bits will never be used in an actual pointer,
> >> > and
> >> > that is all we care about for this implementation.
> >>
> >> It's not that simple.  At least on Solaris amd64, the high bit will be
> >> set for a pointer into the stack.
> >>
> >> > 2. This only works for x86-64
> >> > Solution: I don't even think it is hyperbolic to say that 99% of all
> go
> >> > running in production is on x86-64. So even if this optimization is
> only
> >> > implemented for x86-64, it is well worth it. The rest could be take
> care
> >> > of
> >> > by a stubbed out isSmallString(s string) bool that always returns
> false,
> >> > and
> >> > let the compiler remove all the small string code from the resulting
> >> > binary.
> >>
> >> I suppose we could do that but I would consider it very unfortunate.
> >>
> >> Ian
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "golang-nuts" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to golang-nuts+unsubscr...@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: Inlinedstrings.pdf
Description: Adobe PDF document

Reply via email to