| 03:57 | <shu> | ljharb: the second half of the check, you mean? you can check for IsSharedArrayBuffer and !IsFixedLengthArrayBuffer, that currently implies the object must have a [[ArrayBufferByteLengthData]] internal slot |
| 03:57 | <shu> | but i don't see why you wouldn't check for the slot directly instead of obfuscating it via an implication from another slot |
| 03:58 | <ljharb> | to me it conveys the meaning better; i had to search for the slot to figure out why it was checking that |
| 03:58 | <ljharb> | but gotcha |
| 20:02 | <shu> | yeah i can see going both ways on that preference |
| 20:03 | <shu> | we got rid of actual brands (i.e. internal slots that serve no other purpose than as indicators of what type something is), but we don't always check for a slot that we're going to be using |
| 20:03 | <shu> | sometimes we use brand-like AOs that pick a slot as the brand-like slot |
| 20:26 | <jmdyck> | the global object could be a proxy, couldn't it? |
| 23:21 | <ljharb> | also, transfer will add IsResizableBuffer which perhaps could be used in more places |
| 23:23 | <shu> | why is it adding IsResizableBuffer? |
| 23:23 | <shu> | IsResizableBuffer was changed to the negation (IsFixedLengthArrayBuffer) for better readability in a lot of algorithms |
| 23:25 | <shu> | also https://github.com/tc39/ecma262/pull/3175 doesn't add that AO currently |