It would be nice to refactor jsid to be more like JS::Value. We could rename it to JS::PropertyKey (I think that's what the spec uses?) and replace JSID_TO_INT etc with methods like isInt().
Rename it, make it directly hold a JS::Value, yeah. It's kinda nuts we have two different encodings for this, versus just having one and considerably simplifying life. I remember starting to do some of the signature-work to make this possible, a long time ago, but I never followed up on it quickly enough for it to not get ripped out.
Having it hold a JS::Value is interesting but unfortunately it will make things like js::Shape 8 bytes bigger on 32-bit.
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.