non-shared fixed memory grow detaches old views
oldBuffer.detached: true
oldView.length: 0
oldView[0]: undefined
newView[0]: 0x11
newView[PAGE_SIZE - 1]: 0x22
newView[PAGE_SIZE]: 0x0
non-shared resizable memory grow keeps views coherent
buffer.detached: false
buffer.byteLength: 131072
trackingView.length: 131072
fixedEndView.length: 4
trackingView[0]: 0x51
trackingView[PAGE_SIZE - 1]: 0x52
trackingView[PAGE_SIZE]: 0x53
freshView[PAGE_SIZE]: 0x53
non-shared resizable buffer.resize keeps views coherent
buffer.detached: false
buffer.byteLength: 131072
trackingView.length: 131072
fixedEndView.length: 2
trackingView[1]: 0x54
trackingView[PAGE_SIZE - 1]: 0x55
trackingView[PAGE_SIZE + 1]: 0x56
freshView[PAGE_SIZE + 1]: 0x56
non-shared resizable to fixed conversion detaches old resizable views
resizableBuffer.detached: true
trackingView.length: 0
fixedBuffer.detached: true
fixedView.length: 0
newView[0]: 0x61
shared fixed memory grow keeps old in-bounds views coherent
firstBuffer.detached: undefined
firstBuffer.byteLength: 65536
secondBuffer.byteLength: 131072
firstView.length: 65536
firstView[0]: 0x73
firstView[PAGE_SIZE - 1]: 0x72
firstView[PAGE_SIZE]: undefined
secondView[0]: 0x73
secondView[PAGE_SIZE]: 0x74
shared resizable memory grow keeps tracking views coherent
buffer.detached: undefined
buffer.byteLength: 131072
trackingView.length: 131072
fixedEndView.length: 4
trackingView[0]: 0x81
trackingView[PAGE_SIZE - 1]: 0x82
trackingView[PAGE_SIZE]: 0x83
freshView[PAGE_SIZE]: 0x83
shared resizable buffer.grow keeps views coherent
buffer.detached: undefined
buffer.byteLength: 131072
trackingView.length: 131072
fixedEndView.length: 2
trackingView[2]: 0x84
trackingView[PAGE_SIZE - 1]: 0x85
trackingView[PAGE_SIZE + 2]: 0x86
freshView[PAGE_SIZE + 2]: 0x86
