Index: src/compiler/register-allocator.cc |
diff --git a/src/compiler/register-allocator.cc b/src/compiler/register-allocator.cc |
index 403c344aee09209934a6581f0d5695aee71aeffd..618cb3955b946223a5fbec93a8449d16f6abe924 100644 |
--- a/src/compiler/register-allocator.cc |
+++ b/src/compiler/register-allocator.cc |
@@ -3150,6 +3150,9 @@ bool LinearScanAllocator::TryAllocateFreeReg( |
// the range end. Split current at position where it becomes blocked. |
LiveRange* tail = SplitRangeAt(current, pos); |
AddToUnhandledSorted(tail); |
+ |
+ // Try to allocate preferred register once more. |
+ if (TryAllocatePreferredReg(current, free_until_pos)) return true; |
} |
// Register reg is available at the range start and is free until the range |