diff options
author | Björn Gustavsson <[email protected]> | 2010-12-17 11:13:55 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-01-17 15:23:41 +0100 |
commit | e4a4632ed173f22642a2b67316b6decbc91b2a5b (patch) | |
tree | c48cd778fc73197c747bd025cdb2050d9277477c /erts/emulator/utils/beam_makeops | |
parent | 9cea01fb88b0e18e387b08fa3e6273dbf1f76082 (diff) | |
download | otp-e4a4632ed173f22642a2b67316b6decbc91b2a5b.tar.gz otp-e4a4632ed173f22642a2b67316b6decbc91b2a5b.tar.bz2 otp-e4a4632ed173f22642a2b67316b6decbc91b2a5b.zip |
beam_makeops: Support jumping to common code from an instruction macro
Diffstat (limited to 'erts/emulator/utils/beam_makeops')
-rwxr-xr-x | erts/emulator/utils/beam_makeops | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/erts/emulator/utils/beam_makeops b/erts/emulator/utils/beam_makeops index cf18ea4a92..e7c57142c0 100755 --- a/erts/emulator/utils/beam_makeops +++ b/erts/emulator/utils/beam_makeops @@ -938,6 +938,14 @@ sub basic_generator { "{ $var_decls", $macro_code, "}"); + } elsif ($flags =~ /-goto:(\S*)/) { + my $goto = $1; + $code = join("\n", + "{ $var_decls", + $macro_code, + "I += $size + 1;", + "goto $goto;", + "}"); } else { $code = join("\n", "{ $var_decls", |