diff options
author | Kostis Sagonas <[email protected]> | 2010-10-15 20:26:52 +0300 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-10-20 15:46:34 +0200 |
commit | 4921e5546bfeedc22ae7109e169a08bc4cc01739 (patch) | |
tree | f23662f12b6dfa9cecf3908e7c9d96abd08d0b6b /lib/hipe/icode/hipe_beam_to_icode.erl | |
parent | eb75757a3c8f467a7f17c5be9b63c047cb4e98b5 (diff) | |
download | otp-4921e5546bfeedc22ae7109e169a08bc4cc01739.tar.gz otp-4921e5546bfeedc22ae7109e169a08bc4cc01739.tar.bz2 otp-4921e5546bfeedc22ae7109e169a08bc4cc01739.zip |
hipe: Add translation of BIFs with arity three
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 1f8be4040e..920c94d85c 100644 --- a/lib/hipe/icode/hipe_beam_to_icode.erl +++ b/lib/hipe/icode/hipe_beam_to_icode.erl @@ -369,6 +369,10 @@ trans_fun([{bif,BifName,{f,Lbl},[_] = Args,Reg}|Instructions], Env) -> trans_fun([{bif,BifName,{f,Lbl},[_,_] = Args,Reg}|Instructions], Env) -> {BifInsts,Env1} = trans_bif(2,BifName,Lbl,Args,Reg,Env), [hipe_icode:mk_comment({bif2,BifName})|BifInsts] ++ trans_fun(Instructions,Env1); +%%--- bif3 --- +trans_fun([{bif,BifName,{f,Lbl},[_,_,_] = Args,Reg}|Instructions], Env) -> + {BifInsts,Env1} = trans_bif(3,BifName,Lbl,Args,Reg,Env), + [hipe_icode:mk_comment({bif3,BifName})|BifInsts] ++ trans_fun(Instructions,Env1); %%--- allocate trans_fun([{allocate,StackSlots,_}|Instructions], Env) -> trans_allocate(StackSlots) ++ trans_fun(Instructions,Env); |