From 066d1e024c27d8171667ed28ff209ec24e031aba Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Mon, 4 Apr 2011 00:09:14 -0700 Subject: Speed up parsetostruct by using type-specialized callbacks. --- src/upb_decoder_x86.dasc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/upb_decoder_x86.dasc') diff --git a/src/upb_decoder_x86.dasc b/src/upb_decoder_x86.dasc index ecd9899..5e85bd9 100644 --- a/src/upb_decoder_x86.dasc +++ b/src/upb_decoder_x86.dasc @@ -188,9 +188,11 @@ void __attribute__((noinline)) __jit_debug_register_code() { __asm__ __volatile_ |// TODO: optimize for 0 (xor) and 32-bits. |.macro loadfval, f || if (f->fval.val.uint64 == 0) { -| xor ARG2_32, ARG2_32 +| xor ARG2_32, ARG2_32 +|| } else if (f->fval.val.uint64 < 0xffffffff) { +| mov ARG2_32, f->fval.val.uint64 || } else { -| mov ARG2_64, f->fval.val.uint64 +| mov64 ARG2_64, f->fval.val.uint64 || } |.endmacro -- cgit v1.2.3