-
Benedikt Meurer authored
This is the first step towards full huge typed array support in V8. Before this change, the JSTypedArray::length and the elements backing store length (FixedTypedArrayBase::length) were used more or less interchangeably to determine the number of elements in a JSTypedArray. With this change we disentangle these two lengths, and instead make JSTypedArray::length authoritative. For on-heap typed arrays, the FixedTypedArrayBase::length will remain the number of elements in the backing store, but for the off-heap typed arrays, this length will be set to 0 (matching the fact that the FixedTypedArrayBase instance does not contain any elements itself). This also unifies the JSTypedArray::set_/length() and length_value() methods to only have JSTypedArray::set_/length() which returns/takes size_t values. Currently this still requires the values to be in Smi range, but later we will extend this to allow arbitrary size_t values (in the safe integer range). Bug: v8:4153, v8:7881 Change-Id: Iff9089130bb31fa9e08e0cf913e7ab52c3dbf107 Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Doc: http://doc/1Z-wM2qwvAuxH46e9ivtkYvKzzwYZg8ymm0x0wJaomow Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543729 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60648}
ad44c258