diff options
author | Björn Gustavsson <[email protected]> | 2013-10-03 14:06:57 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2014-01-28 15:56:28 +0100 |
commit | c2702eb35db00ad67f922708eeea48616d908306 (patch) | |
tree | a4f4133e5279bfc0e96c227520ecede70cbb821b /erts/emulator/beam/ops.tab | |
parent | 760ed909f8e2a655100ea773829c7d0e7dd40088 (diff) | |
download | otp-c2702eb35db00ad67f922708eeea48616d908306.tar.gz otp-c2702eb35db00ad67f922708eeea48616d908306.tar.bz2 otp-c2702eb35db00ad67f922708eeea48616d908306.zip |
compiler: Implement different instructions for => and :=
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r-- | erts/emulator/beam/ops.tab | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab index b89bdb2e3a..f35997efee 100644 --- a/erts/emulator/beam/ops.tab +++ b/erts/emulator/beam/ops.tab @@ -1474,11 +1474,16 @@ apply_last I P # has_map_field Fail Src Key => jump Fail # get_map_element Fail Src Key Dst => jump Fail -put_map F n Dst Live Size Rest=* => new_map F Dst Live Size Rest -put_map F Src Dst Live Size Rest=* => update_map F Src Dst Live Size Rest +put_map_assoc F n Dst Live Size Rest=* => new_map F Dst Live Size Rest +put_map_exact F n Dst Live Size Rest=* => new_map F Dst Live Size Rest +put_map_assoc F Src Dst Live Size Rest=* => \ + update_map_assoc F Src Dst Live Size Rest +put_map_exact F Src Dst Live Size Rest=* => \ + update_map_exact F Src Dst Live Size Rest new_map j d I I -update_map j d d I I +update_map_assoc j d d I I +update_map_exact j d d I I is_map Fail cq => jump Fail |