aboutsummaryrefslogtreecommitdiff
path: root/bolt_arm64.go (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move code to src/ and tests/EuAndreh2024-10-251-12/+0
|
* bucket: correct broken unaligned load/store in armv5Lorenzo Stoakes2016-07-281-0/+3
| | | | | | | | | | | | | | | | | | | | | armv5 devices and older (i.e. <= arm9 generation) require addresses that are stored to and loaded from to to be 4-byte aligned. If this is not the case the lower 2 bits of the address are cleared and the load is performed in an unexpected order, including up to 3 bytes of data located prior to the address. Inlined buckets are stored after their key in a page and since there is no guarantee that the key will be of a length that is a multiple of 4, it is possible for unaligned load/stores to occur when they are cast back to bucket and page pointer types. The fix adds a new field to track whether the current architecture exhibits this issue, sets it on module load for ARM architectures, and then on bucket open, if this field is set and the address is unaligned, a byte-by-byte copy of the inlined bucket is performed. Ref: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15414.html
* Revert "Remove erroneous build constraint from arm64"Ben Johnson2016-01-191-0/+2
|
* Remove erroneous build constraint from arm64Alex Crawford2016-01-191-2/+0
| | | | This was preventing ARM64 targets from building.
* Add support for arm64Qiang Huang2015-10-091-0/+9
| | | | | | | Added build tag for arm64, so we won't get any errors on other platforms with go 1.4.x. Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
* revert arm64 changeBen Johnson2015-09-091-7/+0
| | | | | | | This commit removes the arm64 change because it caused issues with Go 1.4. Fixes #416.
* add bolt_arm64.go for arm64jefby2015-09-081-0/+7
Signed-off-by: jefby <jef199006@gmail.com>