Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(458)

Side by Side Diff: runtime/vm/intermediate_language_arm.cc

Issue 2896903002: Shuffle around deopt id allocation to give the flow graph builder a chance to record other data as … (Closed)
Patch Set: . Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | runtime/vm/intermediate_language_arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
3 // for details. All rights reserved. Use of this source code is governed by a 3 // for details. All rights reserved. Use of this source code is governed by a
4 // BSD-style license that can be found in the LICENSE file. 4 // BSD-style license that can be found in the LICENSE file.
5 5
6 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. 6 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM.
7 #if defined(TARGET_ARCH_ARM) 7 #if defined(TARGET_ARCH_ARM)
8 8
9 #include "vm/intermediate_language.h" 9 #include "vm/intermediate_language.h"
10 10
(...skipping 2467 matching lines...) Expand 10 before | Expand all | Expand 10 after
2478 kAllocateArrayRuntimeEntry, 2, locs()); 2478 kAllocateArrayRuntimeEntry, 2, locs());
2479 __ Drop(2); 2479 __ Drop(2);
2480 __ Pop(kResultReg); 2480 __ Pop(kResultReg);
2481 __ Bind(&done); 2481 __ Bind(&done);
2482 return; 2482 return;
2483 } 2483 }
2484 } 2484 }
2485 const Code& stub = Code::ZoneHandle(compiler->zone(), 2485 const Code& stub = Code::ZoneHandle(compiler->zone(),
2486 StubCode::AllocateArray_entry()->code()); 2486 StubCode::AllocateArray_entry()->code());
2487 compiler->AddStubCallTarget(stub); 2487 compiler->AddStubCallTarget(stub);
2488 compiler->GenerateCallWithDeopt(token_pos(), deopt_id(), 2488 if (deopt_id() == Thread::kNoDeoptId) {
2489 *StubCode::AllocateArray_entry(), 2489 ASSERT(compiler->is_optimizing());
2490 RawPcDescriptors::kOther, locs()); 2490 compiler->GenerateCall(token_pos(), *StubCode::AllocateArray_entry(),
2491 RawPcDescriptors::kOther, locs());
2492 } else {
2493 compiler->GenerateCallWithDeopt(token_pos(), deopt_id(),
2494 *StubCode::AllocateArray_entry(),
2495 RawPcDescriptors::kOther, locs());
2496 }
2491 ASSERT(locs()->out(0).reg() == kResultReg); 2497 ASSERT(locs()->out(0).reg() == kResultReg);
2492 } 2498 }
2493 2499
2494 2500
2495 LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone, 2501 LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone,
2496 bool opt) const { 2502 bool opt) const {
2497 const intptr_t kNumInputs = 1; 2503 const intptr_t kNumInputs = 1;
2498 const intptr_t kNumTemps = 2504 const intptr_t kNumTemps =
2499 (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 3 : 0); 2505 (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 3 : 0);
2500 2506
(...skipping 4769 matching lines...) Expand 10 before | Expand all | Expand 10 after
7270 compiler->GenerateRuntimeCall(TokenPosition::kNoSource, deopt_id(), 7276 compiler->GenerateRuntimeCall(TokenPosition::kNoSource, deopt_id(),
7271 kGrowRegExpStackRuntimeEntry, 1, locs()); 7277 kGrowRegExpStackRuntimeEntry, 1, locs());
7272 __ Drop(1); 7278 __ Drop(1);
7273 __ Pop(result); 7279 __ Pop(result);
7274 } 7280 }
7275 7281
7276 7282
7277 } // namespace dart 7283 } // namespace dart
7278 7284
7279 #endif // defined TARGET_ARCH_ARM 7285 #endif // defined TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | runtime/vm/intermediate_language_arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698