Nowadays JSC and V8 both store objects and arrays the same way at this point, the only difference is the magic behavior of the length property that’s exposed.
Shift and unshift attempt to just move a pointer into the numeric storage of the object rather than