summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/jit/arm/beam_asm.hpp
diff options
context:
space:
mode:
authorJohn Högberg <john@erlang.org>2022-02-07 23:05:19 +0100
committerJohn Högberg <john@erlang.org>2022-02-17 12:50:43 +0100
commit48643c2ee9c9d74b2e642dbd6d6802fda502e370 (patch)
tree3da6eb2b02d1a18c98cab9a51a3c4e0944308413 /erts/emulator/beam/jit/arm/beam_asm.hpp
parentdf9d0cb725f83b498bd620555f62962b9c0f1df5 (diff)
downloaderlang-48643c2ee9c9d74b2e642dbd6d6802fda502e370.tar.gz
jit: Optimize map lookups
Diffstat (limited to 'erts/emulator/beam/jit/arm/beam_asm.hpp')
-rw-r--r--erts/emulator/beam/jit/arm/beam_asm.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/jit/arm/beam_asm.hpp b/erts/emulator/beam/jit/arm/beam_asm.hpp
index a29f6953a9..4a1125d998 100644
--- a/erts/emulator/beam/jit/arm/beam_asm.hpp
+++ b/erts/emulator/beam/jit/arm/beam_asm.hpp
@@ -879,6 +879,8 @@ class BeamGlobalAssembler : public BeamAssembler {
_(i_breakpoint_trampoline_shared) \
_(i_bsr_body_shared) \
_(i_bsl_body_shared) \
+ _(i_get_map_element_shared) \
+ _(i_get_map_element_hash_shared) \
_(i_func_info_shared) \
_(i_length_guard_shared) \
_(i_length_body_shared) \
@@ -888,6 +890,7 @@ class BeamGlobalAssembler : public BeamAssembler {
_(i_bxor_body_shared) \
_(int_div_rem_body_shared) \
_(int_div_rem_guard_shared) \
+ _(internal_hash_helper) \
_(minus_body_shared) \
_(new_map_shared) \
_(update_map_assoc_shared) \
@@ -938,6 +941,9 @@ class BeamGlobalAssembler : public BeamAssembler {
void emit_bif_element_helper(Label fail);
void emit_bif_tuple_size_helper(Label fail);
+ void emit_flatmap_get_element();
+ void emit_hashmap_get_element();
+
public:
BeamGlobalAssembler(JitAllocator *allocator);