You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Usually it is expected that one opcode will correspond to some point in a source file. However, neo-go compiler is able to inline functions (mostly syscalls), thus leading to a situation where a single opcode can correspond to 2 different function "calls".
We tried emitting NOP for such case nspcc-dev/neo-go#2434 . I believe the best solution would be to have support for this in the debugger itself. I vaguely recall seing some NOPs in the C# compiler, but not sure if it was for the same reason.
The text was updated successfully, but these errors were encountered:
If there were multiple sequence points for a single opcode, how would the debugger choose which to display?
I'm not familiar with the neo go compiler internals. In the NCCS Neo C# compiler, optimization and inlining are controlled via the --no-optimize and --no-inline flags. specifying those flags is similar to producing a debug build, which has the best debug experience. Not specifying those flags is similar to producing a release build, which has better performance but a degraded debug experience.
Usually it is expected that one opcode will correspond to some point in a source file. However, neo-go compiler is able to inline functions (mostly syscalls), thus leading to a situation where a single opcode can correspond to 2 different function "calls".
We tried emitting
NOP
for such case nspcc-dev/neo-go#2434 . I believe the best solution would be to have support for this in the debugger itself. I vaguely recall seing someNOP
s in the C# compiler, but not sure if it was for the same reason.The text was updated successfully, but these errors were encountered: