| Index: third_party/mojo/src/mojo/public/go/bindings/decoder.go
|
| diff --git a/third_party/mojo/src/mojo/public/go/bindings/decoder.go b/third_party/mojo/src/mojo/public/go/bindings/decoder.go
|
| index 3f3cce9bca824f4f4378e12053dbb7809c0699dc..2dccd0ad99230ee81f32ee533d341d189c95a1ba 100644
|
| --- a/third_party/mojo/src/mojo/public/go/bindings/decoder.go
|
| +++ b/third_party/mojo/src/mojo/public/go/bindings/decoder.go
|
| @@ -185,7 +185,6 @@ func (d *Decoder) ReadUint8() (uint8, error) {
|
| if err := ensureElementBitSizeAndCapacity(d.state(), 8); err != nil {
|
| return 0, err
|
| }
|
| - d.state().alignOffsetToBytes()
|
| value := d.buf[d.state().offset]
|
| d.state().skipBytes(1)
|
| d.state().elementsProcessed++
|
| @@ -203,7 +202,6 @@ func (d *Decoder) ReadUint16() (uint16, error) {
|
| if err := ensureElementBitSizeAndCapacity(d.state(), 16); err != nil {
|
| return 0, err
|
| }
|
| - d.state().alignOffsetToBytes()
|
| d.state().offset = align(d.state().offset, 2)
|
| value := binary.LittleEndian.Uint16(d.buf[d.state().offset:])
|
| d.state().skipBytes(2)
|
| @@ -222,7 +220,6 @@ func (d *Decoder) ReadUint32() (uint32, error) {
|
| if err := ensureElementBitSizeAndCapacity(d.state(), 32); err != nil {
|
| return 0, err
|
| }
|
| - d.state().alignOffsetToBytes()
|
| d.state().offset = align(d.state().offset, 4)
|
| value := binary.LittleEndian.Uint32(d.buf[d.state().offset:])
|
| d.state().skipBytes(4)
|
| @@ -241,7 +238,6 @@ func (d *Decoder) ReadUint64() (uint64, error) {
|
| if err := ensureElementBitSizeAndCapacity(d.state(), 64); err != nil {
|
| return 0, err
|
| }
|
| - d.state().alignOffsetToBytes()
|
| d.state().offset = align(d.state().offset, 8)
|
| value := binary.LittleEndian.Uint64(d.buf[d.state().offset:])
|
| d.state().skipBytes(8)
|
| @@ -304,59 +300,16 @@ func (d *Decoder) ReadPointer() (uint64, error) {
|
| if newEnd%8 != 0 {
|
| return 0, fmt.Errorf("incorrect pointer data alignment: %d", newEnd)
|
| }
|
| - d.claimData(int(newEnd) - d.end)
|
| + d.claimData(d.end - int(newEnd))
|
| return pointer, nil
|
| }
|
|
|
| -// ReadUntypedHandle reads an untyped handle.
|
| -func (d *Decoder) ReadUntypedHandle() (system.UntypedHandle, error) {
|
| - handleIndex, err := d.ReadUint32()
|
| - if err != nil {
|
| - return nil, err
|
| - }
|
| - if handleIndex == ^uint32(0) {
|
| - return &InvalidHandle{}, nil
|
| - }
|
| - return d.claimHandle(int(handleIndex))
|
| -}
|
| -
|
| -// ReadHandle reads a handle.
|
| -func (d *Decoder) ReadHandle() (system.Handle, error) {
|
| - return d.ReadUntypedHandle()
|
| -}
|
| -
|
| // ReadMessagePipeHandle reads a message pipe handle.
|
| func (d *Decoder) ReadMessagePipeHandle() (system.MessagePipeHandle, error) {
|
| - if handle, err := d.ReadUntypedHandle(); err != nil {
|
| - return nil, err
|
| - } else {
|
| - return handle.ToMessagePipeHandle(), nil
|
| - }
|
| -}
|
| -
|
| -// ReadConsumerHandle reads a data pipe consumer handle.
|
| -func (d *Decoder) ReadConsumerHandle() (system.ConsumerHandle, error) {
|
| - if handle, err := d.ReadUntypedHandle(); err != nil {
|
| - return nil, err
|
| - } else {
|
| - return handle.ToConsumerHandle(), nil
|
| - }
|
| -}
|
| -
|
| -// ReadProducerHandle reads a data pipe producer handle.
|
| -func (d *Decoder) ReadProducerHandle() (system.ProducerHandle, error) {
|
| - if handle, err := d.ReadUntypedHandle(); err != nil {
|
| - return nil, err
|
| - } else {
|
| - return handle.ToProducerHandle(), nil
|
| - }
|
| -}
|
| -
|
| -// ReadSharedBufferHandle reads a shared buffer handle.
|
| -func (d *Decoder) ReadSharedBufferHandle() (system.SharedBufferHandle, error) {
|
| - if handle, err := d.ReadUntypedHandle(); err != nil {
|
| + handleIndex, err := d.ReadUint32()
|
| + if err != nil {
|
| return nil, err
|
| - } else {
|
| - return handle.ToSharedBufferHandle(), nil
|
| }
|
| + untypedHandle, err := d.claimHandle(int(handleIndex))
|
| + return untypedHandle.ToMessagePipeHandle(), err
|
| }
|
|
|