summaryrefslogtreecommitdiff
path: root/upb/pb/compile_decoder_x64.dasc
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2017-09-25 10:21:36 -0700
committerPaul Yang <TeBoring@users.noreply.github.com>2017-09-25 10:21:36 -0700
commit0776f64830e8654193b5784e9e124424af8de680 (patch)
treef4565b661aa32126e37b56c42f80e57aaaa64da6 /upb/pb/compile_decoder_x64.dasc
parentd9eca86091903e769bf66d78e7cba977ffb7818a (diff)
Fixed JIT for unknown fields. (#1)
Diffstat (limited to 'upb/pb/compile_decoder_x64.dasc')
-rw-r--r--upb/pb/compile_decoder_x64.dasc5
1 files changed, 5 insertions, 0 deletions
diff --git a/upb/pb/compile_decoder_x64.dasc b/upb/pb/compile_decoder_x64.dasc
index 0bc0597..7fcd006 100644
--- a/upb/pb/compile_decoder_x64.dasc
+++ b/upb/pb/compile_decoder_x64.dasc
@@ -776,6 +776,11 @@ static void jitdispatch(jitcompiler *jc,
|
|5:
| // Field isn't in our table.
+ |
+ | // For pushing unknown fields to the unknown field handler.
+ | mov64 rax, (uintptr_t)method->dest_handlers_
+ | mov FRAME->sink.handlers, rax
+ |
| call ->parse_unknown
| test eax, eax // ENDGROUP?
| jz <1
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback