aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2013-10-25 16:28:50 +0200
committerBjörn-Egil Dahlberg <[email protected]>2014-01-28 17:06:42 +0100
commit457b29c9ddd2b338e80916a5e7bad8dfe4b36ffc (patch)
tree7e38c35c51f7fc01bb929aaee08e1c9b611f7b96
parent6868557c0244140ea7709822e8f7a0ba26029b21 (diff)
downloadotp-457b29c9ddd2b338e80916a5e7bad8dfe4b36ffc.tar.gz
otp-457b29c9ddd2b338e80916a5e7bad8dfe4b36ffc.tar.bz2
otp-457b29c9ddd2b338e80916a5e7bad8dfe4b36ffc.zip
erts,stdlib: Teach matchspec compiler map guards
-rw-r--r--erts/emulator/beam/erl_db_util.c12
-rw-r--r--lib/stdlib/src/ms_transform.erl2
2 files changed, 14 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_db_util.c b/erts/emulator/beam/erl_db_util.c
index d903053aa4..3986ccd4d3 100644
--- a/erts/emulator/beam/erl_db_util.c
+++ b/erts/emulator/beam/erl_db_util.c
@@ -566,6 +566,12 @@ static DMCGuardBif guard_tab[] =
DBIF_ALL
},
{
+ am_is_map,
+ &is_map_1,
+ 1,
+ DBIF_ALL
+ },
+ {
am_is_binary,
&is_binary_1,
1,
@@ -632,6 +638,12 @@ static DMCGuardBif guard_tab[] =
DBIF_ALL
},
{
+ am_map_size,
+ &map_size_1,
+ 1,
+ DBIF_ALL
+ },
+ {
am_bit_size,
&bit_size_1,
1,
diff --git a/lib/stdlib/src/ms_transform.erl b/lib/stdlib/src/ms_transform.erl
index 25b04fe45e..27dfcf52e1 100644
--- a/lib/stdlib/src/ms_transform.erl
+++ b/lib/stdlib/src/ms_transform.erl
@@ -910,6 +910,7 @@ bool_test(is_pid,1) -> true;
bool_test(is_port,1) -> true;
bool_test(is_reference,1) -> true;
bool_test(is_tuple,1) -> true;
+bool_test(is_map,1) -> true;
bool_test(is_binary,1) -> true;
bool_test(is_function,1) -> true;
bool_test(is_record,2) -> true;
@@ -924,6 +925,7 @@ real_guard_function(node,0) -> true;
real_guard_function(node,1) -> true;
real_guard_function(round,1) -> true;
real_guard_function(size,1) -> true;
+real_guard_function(map_size,1) -> true;
real_guard_function(tl,1) -> true;
real_guard_function(trunc,1) -> true;
real_guard_function(self,0) -> true;