| Index: runtime/vm/intrinsifier_ia32.cc
|
| diff --git a/runtime/vm/intrinsifier_ia32.cc b/runtime/vm/intrinsifier_ia32.cc
|
| index fa1620561558faa4290270f8f7472abd2588a7c6..b947c8579edb659d0f7e4767c17f5eba7cc99a9c 100644
|
| --- a/runtime/vm/intrinsifier_ia32.cc
|
| +++ b/runtime/vm/intrinsifier_ia32.cc
|
| @@ -58,9 +58,12 @@ bool Intrinsifier::ObjectArray_Allocate(Assembler* assembler) {
|
| Isolate* isolate = Isolate::Current();
|
| Heap* heap = isolate->heap();
|
|
|
| - // EDI: allocation size.
|
| __ movl(EAX, Address::Absolute(heap->TopAddress()));
|
| - __ leal(EBX, Address(EAX, EDI, TIMES_1, 0));
|
| + __ movl(EBX, EAX);
|
| +
|
| + // EDI: allocation size.
|
| + __ addl(EBX, EDI);
|
| + __ j(CARRY, &fall_through);
|
|
|
| // Check if the allocation fits into the remaining space.
|
| // EAX: potential new object start.
|
|
|