Drag jsid into the 21st century

NEW
Unassigned

Status

()

Core
JavaScript Engine
P3
normal
2 years ago
9 months ago

People

(Reporter: jandem, Unassigned)

Tracking

({triage-deferred})

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
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().

Comment 1

2 years ago
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.
(Reporter)

Comment 2

2 years ago
Having it hold a JS::Value is interesting but unfortunately it will make things like js::Shape 8 bytes bigger on 32-bit.
Keywords: triage-deferred
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.