SHARE
TWEET

Untitled




Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- Demonstrating the bug.
- The hipe_bug.S file was generated using the new SSA-based compiler.
- Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
- Eshell V10.0 (abort with ^G)
- 1> c(hipe_bug, [from_asm,native]), hipe_bug:run().
- ** exception error: {badmap,{cons,{arg,0},nil}}
- in function hipe_bug:dig_out_fc/1
- 2> c(hipe_bug, [from_asm]), hipe_bug:run().
- {cons,{arg,0},nil}
- 3>
- The problem seems to be in the following instruction:
- {get_map_elements,{f,5},
- {x,0},
- {list,[{literal,{x,1}},{x,0},{literal,{x,0}},{x,1}]}}.
- Note that the source register for the map ({x,0}) is also one of the destinations.
- BEAM has no problem with this, as it executes the instruction atomically.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.