Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index fdddef3f479a6eb3af46d21f3b98bb9e2d8877c0..f8cfb140018f0c72de8d648757415ec9f162e037 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -2422,7 +2422,8 @@ LInstruction* LChunkBuilder::DoStoreNamedField(HStoreNamedField* instr) { |
!(FLAG_track_double_fields && instr->field_representation().IsDouble()); |
LOperand* val; |
- if (instr->field_representation().IsByte()) { |
+ if (instr->field_representation().IsInteger8() || |
+ instr->field_representation().IsUInteger8()) { |
// mov_b requires a byte register (i.e. any of eax, ebx, ecx, edx). |
// Just force the value to be in eax and we're safe here. |
Yang
2013/11/07 09:32:43
Don't we have the same issue with 16-bit accesses?
Benedikt Meurer
2013/11/07 12:57:55
In long mode, the REX prefix can be used to access
danno
2013/11/07 13:19:57
No, this issue doesn't exist with 16-bit access. I
danno
2013/11/07 13:19:57
Done.
|
val = UseFixed(instr->value(), eax); |