diff options
Diffstat (limited to 'compiler/optimizing/codegen_test_utils.h')
| -rw-r--r-- | compiler/optimizing/codegen_test_utils.h | 13 | 
1 files changed, 9 insertions, 4 deletions
| diff --git a/compiler/optimizing/codegen_test_utils.h b/compiler/optimizing/codegen_test_utils.h index 5f4593ff0e..bcbcc12349 100644 --- a/compiler/optimizing/codegen_test_utils.h +++ b/compiler/optimizing/codegen_test_utils.h @@ -295,10 +295,15 @@ static void RunCodeNoCheck(CodeGenerator* codegen,                             const std::function<void(HGraph*)>& hook_before_codegen,                             bool has_result,                             Expected expected) { -  SsaLivenessAnalysis liveness(graph, codegen); -  PrepareForRegisterAllocation(graph).Run(); -  liveness.Analyze(); -  RegisterAllocator::Create(graph->GetAllocator(), codegen, liveness)->AllocateRegisters(); +  { +    ScopedArenaAllocator local_allocator(graph->GetArenaStack()); +    SsaLivenessAnalysis liveness(graph, codegen, &local_allocator); +    PrepareForRegisterAllocation(graph).Run(); +    liveness.Analyze(); +    std::unique_ptr<RegisterAllocator> register_allocator = +        RegisterAllocator::Create(&local_allocator, codegen, liveness); +    register_allocator->AllocateRegisters(); +  }    hook_before_codegen(graph);    InternalCodeAllocator allocator;    codegen->Compile(&allocator); |