aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_debug.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-12-14 07:23:19 +0100
committerBjörn Gustavsson <[email protected]>2011-01-17 15:23:40 +0100
commit56da36ef79a1c7ffb39836e1838084ed53dda6f0 (patch)
tree33371d2db9f501bc9ce80ba695ac642337646356 /erts/emulator/beam/beam_debug.c
parent4d6e7ac0aa307271e0b265dd41dea4eb0fc1dee7 (diff)
downloadotp-56da36ef79a1c7ffb39836e1838084ed53dda6f0.tar.gz
otp-56da36ef79a1c7ffb39836e1838084ed53dda6f0.tar.bz2
otp-56da36ef79a1c7ffb39836e1838084ed53dda6f0.zip
Support packing of the 'I' type in a 64-bit emulator
In many (not all) cases, the value for the 'I' type will fit into 32 bits.
Diffstat (limited to 'erts/emulator/beam/beam_debug.c')
-rw-r--r--erts/emulator/beam/beam_debug.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_debug.c b/erts/emulator/beam/beam_debug.c
index 9f8d338fbd..4fa9d60bca 100644
--- a/erts/emulator/beam/beam_debug.c
+++ b/erts/emulator/beam/beam_debug.c
@@ -378,6 +378,12 @@ print_op(int to, void *to_arg, int op, int size, BeamInstr* addr)
*ap++ = packed & BEAM_LOOSE_MASK;
packed >>= BEAM_LOOSE_SHIFT;
break;
+#ifdef ARCH_64
+ case 'w': /* Shift 32 steps */
+ *ap++ = packed & BEAM_WIDE_MASK;
+ packed >>= BEAM_WIDE_SHIFT;
+ break;
+#endif
case 'p':
*sp++ = *--ap;
break;