DescriptionFor HashTable-backed JS objects, use the proper type in the table() accessor
Currently nearly all code using JSSet/JSMap/JSWeakMap does a cast
whenever calling table(). This patch simply puts that cast inside
the accessor. The only possible way for table() to not be valid
is during heap verification (which has been fixed up to not call
the accessor) or if GC occurs during construction of the hash table
itself (where a call to HeapObject::RawField has been moved up to
do the read instead of going through the accessor).
This is a precursor to making a similar change to JSArray::length(),
but is hopefully less dramatic, since there are many fewer uses of
sets and maps than arrays.
Patch Set 1 : #
Messages
Total messages: 4 (0 generated)
|