diff --git a/include/aeb_opcodes.hrl b/include/aeb_opcodes.hrl index 8d04333..4eab4e2 100644 --- a/include/aeb_opcodes.hrl +++ b/include/aeb_opcodes.hrl @@ -144,6 +144,8 @@ -define( 'DELEGATECALL', 16#f4). -define( 'DBGLOC', 16#b1). +-define( 'DBGDEF', 16#b2). +-define( 'DBGUNDEF', 16#b3). -define( 'STATICCALL', 16#fa). diff --git a/src/aeb_fate_generate_ops.erl b/src/aeb_fate_generate_ops.erl index 5f5f416..5ea912b 100644 --- a/src/aeb_fate_generate_ops.erl +++ b/src/aeb_fate_generate_ops.erl @@ -243,6 +243,8 @@ ops_defs() -> , { 'BSR', 16#b0, false, true, true, ?GAS(10), [a, a, a], bin_sr, {integer, integer}, integer, "Arg0 := Arg1 >> Arg2"} , { 'DBGLOC', 16#b1, false, true, true, ?GAS(0), [a, a, a], dbgloc, {string, integer, integer}, none, "Arg" } + , { 'DBGDEF', 16#b2, false, true, true, ?GAS(0), [a, a], dbgdef, {string, tuple}, none, "Arg" } + , { 'DBGUNDEF', 16#b3, false, true, true, ?GAS(0), [a, a], dbgundef, {string, tuple}, none, "Arg" } , { 'DEACTIVATE', 16#fa, false, true, true, ?GAS(10), [], deactivate, {}, none, "Mark the current contract for deactivation."} , { 'ABORT', 16#fb, true, true, true, ?GAS(10), [a], abort, {string}, none, "Abort execution (dont use all gas) with error message in Arg0."} diff --git a/src/aeb_opcodes.erl b/src/aeb_opcodes.erl index 8e83b87..eb5d127 100644 --- a/src/aeb_opcodes.erl +++ b/src/aeb_opcodes.erl @@ -163,6 +163,8 @@ opcode(?STATICCALL) -> ?STATICCALL; %% TODO opcode(?REVERT) -> ?REVERT; opcode({comment,X}) -> ?COMMENT(X); opcode(?DBGLOC) -> ?DBGLOC; +opcode(?DBGDEF) -> ?DBGDEF; +opcode(?DBGUNDEF) -> ?DBGUNDEF; opcode(?SUICIDE) -> ?SUICIDE. @@ -305,6 +307,8 @@ mnemonic(?STATICCALL) -> 'STATICCALL' ; mnemonic(?REVERT) -> 'REVERT' ; mnemonic({comment,_}) -> 'COMMENT' ; mnemonic(?DBGLOC) -> 'DBGLOC' ; +mnemonic(?DBGDEF) -> 'DBGDEF' ; +mnemonic(?DBGUNDEF) -> 'DBGUNDEF' ; mnemonic(?SUICIDE) -> 'SUICIDE' . @@ -449,6 +453,8 @@ m_to_op('REVERT') -> ?REVERT ; m_to_op('COMMENT') -> ?COMMENT("") ; m_to_op('SUICIDE') -> ?SUICIDE ; m_to_op('DBGLOC') -> ?DBGLOC ; +m_to_op('DBGDEF') -> ?DBGDEF ; +m_to_op('DBGUNDEF') -> ?DBGUNDEF ; m_to_op(Data) when 0= Data .