diff options
author | Björn-Egil Dahlberg <[email protected]> | 2014-03-31 10:37:01 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2014-03-31 10:37:01 +0200 |
commit | 07eee76fa86019a922784099403ad3d9f0d958eb (patch) | |
tree | 48d973bd36b4825ab9f4c7c9e3178d85483953d8 /lib/hipe/icode/hipe_beam_to_icode.erl | |
parent | 8dfd01213a764ca23b1bcadf367429113030805e (diff) | |
parent | 918f0a26da2ad559bb674e19fce952c2564b9b45 (diff) | |
download | otp-07eee76fa86019a922784099403ad3d9f0d958eb.tar.gz otp-07eee76fa86019a922784099403ad3d9f0d958eb.tar.bz2 otp-07eee76fa86019a922784099403ad3d9f0d958eb.zip |
Merge branch 'ks/hipe-is_map-support/OTP-11831'
* ks/hipe-is_map-support/OTP-11831:
Reinstate native code compilation of cerl and erl_types
Take out no_native compiler attribute
Add support for the compilation of the is_map/1 guard to native code
Add 'map' to the set of icode_type_test()s
Support the translation of the is_map BEAM instruction to Icode
Diffstat (limited to 'lib/hipe/icode/hipe_beam_to_icode.erl')
-rw-r--r-- | lib/hipe/icode/hipe_beam_to_icode.erl | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/hipe/icode/hipe_beam_to_icode.erl b/lib/hipe/icode/hipe_beam_to_icode.erl index 81249c958e..dcd547fd5f 100644 --- a/lib/hipe/icode/hipe_beam_to_icode.erl +++ b/lib/hipe/icode/hipe_beam_to_icode.erl @@ -509,6 +509,10 @@ trans_fun([{test,test_arity,{f,Lbl},[Reg,N]}|Instructions], Env) -> I = hipe_icode:mk_type([trans_arg(Reg)],{tuple,N}, hipe_icode:label_name(True),map_label(Lbl)), [I,True | trans_fun(Instructions,Env)]; +%%--- is_map --- +trans_fun([{test,is_map,{f,Lbl},[Arg]}|Instructions], Env) -> + {Code,Env1} = trans_type_test(map,Lbl,Arg,Env), + [Code | trans_fun(Instructions,Env1)]; %%-------------------------------------------------------------------- %%--- select_val --- trans_fun([{select_val,Reg,{f,Lbl},{list,Cases}}|Instructions], Env) -> |