| Index: test/cctest/interpreter/test-bytecode-generator.cc
|
| diff --git a/test/cctest/interpreter/test-bytecode-generator.cc b/test/cctest/interpreter/test-bytecode-generator.cc
|
| index 2f547721abd82aa375d34d877eaa9655d642a8da..984ea496b4e23fbf67eb7fec5fccf94edbe20d5f 100644
|
| --- a/test/cctest/interpreter/test-bytecode-generator.cc
|
| +++ b/test/cctest/interpreter/test-bytecode-generator.cc
|
| @@ -81,17 +81,21 @@ class BytecodeGeneratorHelper {
|
|
|
|
|
| // Helper macros for handcrafting bytecode sequences.
|
| +int u16_temp;
|
| +
|
| #define B(x) static_cast<uint8_t>(Bytecode::k##x)
|
| #define U8(x) static_cast<uint8_t>((x) & 0xff)
|
| #define R(x) static_cast<uint8_t>(-(x) & 0xff)
|
| #define A(x, n) R(helper.kLastParamIndex - (n) + 1 + (x))
|
| #define THIS(n) A(0, n)
|
| #if defined(V8_TARGET_LITTLE_ENDIAN)
|
| -#define U16(x) static_cast<uint8_t>((x) & 0xff), \
|
| - static_cast<uint8_t>(((x) >> kBitsPerByte) & 0xff)
|
| +#define U16(x) \
|
| + static_cast<uint8_t>((u16_temp = (x)) & 0xff), \
|
| + static_cast<uint8_t>(((u16_temp) >> kBitsPerByte) & 0xff)
|
| #elif defined(V8_TARGET_BIG_ENDIAN)
|
| -#define U16(x) static_cast<uint8_t>(((x) >> kBitsPerByte) & 0xff), \
|
| - static_cast<uint8_t>((x) & 0xff)
|
| +#define U16(x) \
|
| + static_cast<uint8_t>(((u16_temp = (x)) >> kBitsPerByte) & 0xff), \
|
| + static_cast<uint8_t>((u16_temp)&0xff)
|
| #else
|
| #error Unknown byte ordering
|
| #endif
|
|
|