| Index: runtime/vm/assembler_ia32.cc
|
| diff --git a/runtime/vm/assembler_ia32.cc b/runtime/vm/assembler_ia32.cc
|
| index 2da038334bc5822889d40e059e0692bb97139e26..7fe41932cbf5ff0315bfa902f3e74913b66f3ee2 100644
|
| --- a/runtime/vm/assembler_ia32.cc
|
| +++ b/runtime/vm/assembler_ia32.cc
|
| @@ -96,8 +96,13 @@ void Assembler::pushl(const Address& address) {
|
|
|
| void Assembler::pushl(const Immediate& imm) {
|
| AssemblerBuffer::EnsureCapacity ensured(&buffer_);
|
| - EmitUint8(0x68);
|
| - EmitImmediate(imm);
|
| + if (imm.is_int8()) {
|
| + EmitUint8(0x6A);
|
| + EmitUint8(imm.value() & 0xFF);
|
| + } else {
|
| + EmitUint8(0x68);
|
| + EmitImmediate(imm);
|
| + }
|
| }
|
|
|
|
|
|
|