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

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

Issue 1215143002: Remove one fixed entry from object pool on x64 and arm64. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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 | « no previous file | runtime/vm/assembler_x64.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 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/globals.h" // NOLINT 5 #include "vm/globals.h" // NOLINT
6 #if defined(TARGET_ARCH_ARM64) 6 #if defined(TARGET_ARCH_ARM64)
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/cpu.h" 9 #include "vm/cpu.h"
10 #include "vm/longjump.h" 10 #include "vm/longjump.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 ASSERT(index == 2); 45 ASSERT(index == 2);
46 46
47 const Smi& vacant = Smi::Handle(Smi::New(0xfa >> kSmiTagShift)); 47 const Smi& vacant = Smi::Handle(Smi::New(0xfa >> kSmiTagShift));
48 StubCode* stub_code = Isolate::Current()->stub_code(); 48 StubCode* stub_code = Isolate::Current()->stub_code();
49 if (stub_code->UpdateStoreBuffer_entry() != NULL) { 49 if (stub_code->UpdateStoreBuffer_entry() != NULL) {
50 object_pool_wrapper_.AddExternalLabel( 50 object_pool_wrapper_.AddExternalLabel(
51 &stub_code->UpdateStoreBufferLabel(), kNotPatchable); 51 &stub_code->UpdateStoreBufferLabel(), kNotPatchable);
52 } else { 52 } else {
53 object_pool_wrapper_.AddObject(vacant); 53 object_pool_wrapper_.AddObject(vacant);
54 } 54 }
55
56 if (stub_code->CallToRuntime_entry() != NULL) {
57 object_pool_wrapper_.AddExternalLabel(
58 &stub_code->CallToRuntimeLabel(), kNotPatchable);
59 } else {
60 object_pool_wrapper_.AddObject(vacant);
61 }
62 } 55 }
63 } 56 }
64 57
65 58
66 void Assembler::InitializeMemoryWithBreakpoints(uword data, intptr_t length) { 59 void Assembler::InitializeMemoryWithBreakpoints(uword data, intptr_t length) {
67 ASSERT(Utils::IsAligned(data, 4)); 60 ASSERT(Utils::IsAligned(data, 4));
68 ASSERT(Utils::IsAligned(length, 4)); 61 ASSERT(Utils::IsAligned(length, 4));
69 const uword end = data + length; 62 const uword end = data + length;
70 while (data < end) { 63 while (data < end) {
71 *reinterpret_cast<int32_t*>(data) = Instr::kBreakPointInstruction; 64 *reinterpret_cast<int32_t*>(data) = Instr::kBreakPointInstruction;
(...skipping 1387 matching lines...) Expand 10 before | Expand all | Expand 10 after
1459 add(base, array, Operand(index, LSL, shift)); 1452 add(base, array, Operand(index, LSL, shift));
1460 } 1453 }
1461 const OperandSize size = Address::OperandSizeFor(cid); 1454 const OperandSize size = Address::OperandSizeFor(cid);
1462 ASSERT(Address::CanHoldOffset(offset, Address::Offset, size)); 1455 ASSERT(Address::CanHoldOffset(offset, Address::Offset, size));
1463 return Address(base, offset, Address::Offset, size); 1456 return Address(base, offset, Address::Offset, size);
1464 } 1457 }
1465 1458
1466 } // namespace dart 1459 } // namespace dart
1467 1460
1468 #endif // defined TARGET_ARCH_ARM64 1461 #endif // defined TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/assembler_x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698