| Index: runtime/vm/intermediate_language_ia32.cc
|
| diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
|
| index ab7250909620daed7ae4c97ff0e6e9a20db5033e..8b979e483860431fff35a3d011ee4d7938c11bca 100644
|
| --- a/runtime/vm/intermediate_language_ia32.cc
|
| +++ b/runtime/vm/intermediate_language_ia32.cc
|
| @@ -1677,7 +1677,8 @@ void StoreInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ TryAllocate(compiler->double_class(),
|
| slow_path->entry_label(),
|
| Assembler::kFarJump,
|
| - temp);
|
| + temp,
|
| + temp2);
|
| __ Bind(slow_path->exit_label());
|
| __ movl(temp2, temp);
|
| __ StoreIntoObject(instance_reg,
|
| @@ -1726,7 +1727,8 @@ void StoreInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ TryAllocate(compiler->double_class(),
|
| slow_path->entry_label(),
|
| Assembler::kFarJump,
|
| - temp);
|
| + temp,
|
| + temp2);
|
| __ Bind(slow_path->exit_label());
|
| __ movl(temp2, temp);
|
| __ StoreIntoObject(instance_reg,
|
| @@ -1974,7 +1976,8 @@ void LoadFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ TryAllocate(compiler->double_class(),
|
| slow_path->entry_label(),
|
| Assembler::kFarJump,
|
| - result);
|
| + result,
|
| + temp);
|
| __ Bind(slow_path->exit_label());
|
| __ movl(temp, FieldAddress(instance_reg, offset_in_bytes()));
|
| __ movsd(value, FieldAddress(temp, Double::value_offset()));
|
| @@ -2857,7 +2860,8 @@ void BoxDoubleInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ TryAllocate(compiler->double_class(),
|
| slow_path->entry_label(),
|
| Assembler::kFarJump,
|
| - out_reg);
|
| + out_reg,
|
| + kNoRegister);
|
| __ Bind(slow_path->exit_label());
|
| __ movsd(FieldAddress(out_reg, Double::value_offset()), value);
|
| }
|
| @@ -2964,7 +2968,8 @@ void BoxFloat32x4Instr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ TryAllocate(compiler->float32x4_class(),
|
| slow_path->entry_label(),
|
| Assembler::kFarJump,
|
| - out_reg);
|
| + out_reg,
|
| + kNoRegister);
|
| __ Bind(slow_path->exit_label());
|
| __ movups(FieldAddress(out_reg, Float32x4::value_offset()), value);
|
| }
|
| @@ -3058,7 +3063,8 @@ void BoxInt32x4Instr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ TryAllocate(compiler->int32x4_class(),
|
| slow_path->entry_label(),
|
| Assembler::kFarJump,
|
| - out_reg);
|
| + out_reg,
|
| + kNoRegister);
|
| __ Bind(slow_path->exit_label());
|
| __ movups(FieldAddress(out_reg, Int32x4::value_offset()), value);
|
| }
|
| @@ -4682,7 +4688,8 @@ void BoxIntegerInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| Class::ZoneHandle(Isolate::Current()->object_store()->mint_class()),
|
| slow_path->entry_label(),
|
| Assembler::kFarJump,
|
| - out_reg);
|
| + out_reg,
|
| + kNoRegister);
|
| __ Bind(slow_path->exit_label());
|
| __ movsd(FieldAddress(out_reg, Mint::value_offset()), value);
|
| __ Bind(&done);
|
|
|