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

Side by Side Diff: src/arm64/code-stubs-arm64.h

Issue 2732273003: Disentangle assembler from isolate. (Closed)
Patch Set: Address feedback. Created 3 years, 9 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 | « src/arm64/assembler-arm64-inl.h ('k') | src/arm64/instructions-arm64.h » ('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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_ARM64_CODE_STUBS_ARM64_H_ 5 #ifndef V8_ARM64_CODE_STUBS_ARM64_H_
6 #define V8_ARM64_CODE_STUBS_ARM64_H_ 6 #define V8_ARM64_CODE_STUBS_ARM64_H_
7 7
8 namespace v8 { 8 namespace v8 {
9 namespace internal { 9 namespace internal {
10 10
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 123
124 // We patch the two first instructions of the stub back and forth between an 124 // We patch the two first instructions of the stub back and forth between an
125 // adr and branch when we start and stop incremental heap marking. 125 // adr and branch when we start and stop incremental heap marking.
126 // The branch is 126 // The branch is
127 // b label 127 // b label
128 // The adr is 128 // The adr is
129 // adr xzr label 129 // adr xzr label
130 // so effectively a nop. 130 // so effectively a nop.
131 static void Patch(Code* stub, Mode mode) { 131 static void Patch(Code* stub, Mode mode) {
132 // We are going to patch the two first instructions of the stub. 132 // We are going to patch the two first instructions of the stub.
133 PatchingAssembler patcher( 133 PatchingAssembler patcher(stub->GetIsolate(), stub->instruction_start(), 2);
134 stub->GetIsolate(),
135 reinterpret_cast<Instruction*>(stub->instruction_start()), 2);
136 Instruction* instr1 = patcher.InstructionAt(0); 134 Instruction* instr1 = patcher.InstructionAt(0);
137 Instruction* instr2 = patcher.InstructionAt(kInstructionSize); 135 Instruction* instr2 = patcher.InstructionAt(kInstructionSize);
138 // Instructions must be either 'adr' or 'b'. 136 // Instructions must be either 'adr' or 'b'.
139 DCHECK(instr1->IsPCRelAddressing() || instr1->IsUncondBranchImm()); 137 DCHECK(instr1->IsPCRelAddressing() || instr1->IsUncondBranchImm());
140 DCHECK(instr2->IsPCRelAddressing() || instr2->IsUncondBranchImm()); 138 DCHECK(instr2->IsPCRelAddressing() || instr2->IsUncondBranchImm());
141 // Retrieve the offsets to the labels. 139 // Retrieve the offsets to the labels.
142 auto offset_to_incremental_noncompacting = 140 auto offset_to_incremental_noncompacting =
143 static_cast<int32_t>(instr1->ImmPCOffset()); 141 static_cast<int32_t>(instr1->ImmPCOffset());
144 auto offset_to_incremental_compacting = 142 auto offset_to_incremental_compacting =
145 static_cast<int32_t>(instr2->ImmPCOffset()); 143 static_cast<int32_t>(instr2->ImmPCOffset());
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 class LookupModeBits: public BitField<LookupMode, 0, 1> {}; 340 class LookupModeBits: public BitField<LookupMode, 0, 1> {};
343 341
344 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR(); 342 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR();
345 DEFINE_PLATFORM_CODE_STUB(NameDictionaryLookup, PlatformCodeStub); 343 DEFINE_PLATFORM_CODE_STUB(NameDictionaryLookup, PlatformCodeStub);
346 }; 344 };
347 345
348 } // namespace internal 346 } // namespace internal
349 } // namespace v8 347 } // namespace v8
350 348
351 #endif // V8_ARM64_CODE_STUBS_ARM64_H_ 349 #endif // V8_ARM64_CODE_STUBS_ARM64_H_
OLDNEW
« no previous file with comments | « src/arm64/assembler-arm64-inl.h ('k') | src/arm64/instructions-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698