Source File
go_allocator.go
Belonging Package
github.com/apache/arrow-go/v18/arrow/memory
// Licensed to the Apache Software Foundation (ASF) under one// or more contributor license agreements. See the NOTICE file// distributed with this work for additional information// regarding copyright ownership. The ASF licenses this file// to you under the Apache License, Version 2.0 (the// "License"); you may not use this file except in compliance// with the License. You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.package memorytype GoAllocator struct{}func () *GoAllocator { return &GoAllocator{} }func ( *GoAllocator) ( int) []byte {:= make([]byte, +alignment) // padding for 64-byte alignment:= int(addressOf()):= roundUpToMultipleOf64()if != {:= -return [ : + : +]}return [::]}func ( *GoAllocator) ( int, []byte) []byte {if cap() >= {return [:]}:= .Allocate()copy(, )return}func ( *GoAllocator) ( []byte) {}var (_ Allocator = (*GoAllocator)(nil))
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |