Merge pull request #355 from haberman/aarch64

The fasttable parser works on ARM64!
pull/13171/head
Joshua Haberman 4 years ago committed by GitHub
commit 900bd5c426
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      upb/decode_fast.c
  2. 2
      upb/port_def.inc

@ -1,8 +1,8 @@
// Fast decoder: ~3x the speed of decode.c, but x86-64 specific.
// Fast decoder: ~3x the speed of decode.c, but requires x86-64/ARM64.
// Also the table size grows by 2x.
//
// Could potentially be ported to ARM64 or other 64-bit archs that pass at
// least six arguments in registers.
// Could potentially be ported to other 64-bit archs that pass at least six
// arguments in registers and have 8 unused high bits in pointers.
//
// The overall design is to create specialized functions for every possible
// field type (eg. oneof boolean field with a 1 byte tag) and then dispatch

@ -137,7 +137,7 @@
/* Configure whether fasttable is switched on or not. *************************/
#if defined(__x86_64__) && defined(__GNUC__)
#if (defined(__x86_64__) || defined(__aarch64__)) && defined(__GNUC__)
#define UPB_FASTTABLE_SUPPORTED 1
#else
#define UPB_FASTTABLE_SUPPORTED 0

Loading…
Cancel
Save