On Fri, Jul 13, 2018 at 03:03:47PM +1200, Robert O'Callahan wrote:
> On Fri, Jul 13, 2018 at 11:40 AM, Steve Fink <sf...@mozilla.com> wrote:
> 
> > On 07/12/2018 04:27 PM, Cameron McCormack wrote:
> >
> >> On Fri, Jul 13, 2018, at 6:51 AM, Kris Maglione wrote:
> >>
> >>> I actually have a patch sitting around with helpers to make it super
> >>> easy to
> >>> use smart pointers as tagged pointers :) I never wound up putting it up
> >>> for
> >>> review, since my original use case went away, but it you can think of any
> >>> specific cases where it would be useful, I'd be happy to try and get it
> >>> landed.
> >>>
> >> Speaking of tagged pointers, I've used lower one or two bits for tagging
> >> a number of times, but I've never tried packing things into the high bits
> >> of a 64 bit pointer.  Is that inadvisable for any reason?  How many bits
> >> can I use, given the 64 bit platforms we need to support?
> >>
> >
> > JS::Value makes use of this. We preserve the bottom 47 bits, but that's
> > starting to be problematic as some systems want 48. So, stashing stuff into
> > the high 16 bits is pretty safe!
> >
> 
> 57-bit address space support is coming for x86-64.

The high 16 bits are also used for user-space address space on some tier-3
platforms, and we've had to make the memory allocator avoid those
addresses to make JS::Value work there.

Mike
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to