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

Side by Side Diff: src/arm64/assembler-arm64.h

Issue 1332283002: Make FlushICache part of Assembler(Base) and take Isolate as parameter. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix arm64 PatchingAssembler that initialized its isolate with NULL :) Created 5 years, 3 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/arm/macro-assembler-arm.cc ('k') | src/arm64/assembler-arm64-inl.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_ASSEMBLER_ARM64_H_ 5 #ifndef V8_ARM64_ASSEMBLER_ARM64_H_
6 #define V8_ARM64_ASSEMBLER_ARM64_H_ 6 #define V8_ARM64_ASSEMBLER_ARM64_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <list> 9 #include <list>
10 #include <map> 10 #include <map>
(...skipping 2261 matching lines...) Expand 10 before | Expand all | Expand 10 after
2272 ~PatchingAssembler() { 2272 ~PatchingAssembler() {
2273 // Const pool should still be blocked. 2273 // Const pool should still be blocked.
2274 DCHECK(is_const_pool_blocked()); 2274 DCHECK(is_const_pool_blocked());
2275 EndBlockPools(); 2275 EndBlockPools();
2276 // Verify we have generated the number of instruction we expected. 2276 // Verify we have generated the number of instruction we expected.
2277 DCHECK((pc_offset() + kGap) == buffer_size_); 2277 DCHECK((pc_offset() + kGap) == buffer_size_);
2278 // Verify no relocation information has been emitted. 2278 // Verify no relocation information has been emitted.
2279 DCHECK(IsConstPoolEmpty()); 2279 DCHECK(IsConstPoolEmpty());
2280 // Flush the Instruction cache. 2280 // Flush the Instruction cache.
2281 size_t length = buffer_size_ - kGap; 2281 size_t length = buffer_size_ - kGap;
2282 CpuFeatures::FlushICache(buffer_, length); 2282 Assembler::FlushICacheWithoutIsolate(buffer_, length);
2283 } 2283 }
2284 2284
2285 // See definition of PatchAdrFar() for details. 2285 // See definition of PatchAdrFar() for details.
2286 static const int kAdrFarPatchableNNops = 2; 2286 static const int kAdrFarPatchableNNops = 2;
2287 static const int kAdrFarPatchableNInstrs = kAdrFarPatchableNNops + 2; 2287 static const int kAdrFarPatchableNInstrs = kAdrFarPatchableNNops + 2;
2288 void PatchAdrFar(int64_t target_offset); 2288 void PatchAdrFar(int64_t target_offset);
2289 }; 2289 };
2290 2290
2291 2291
2292 class EnsureSpace BASE_EMBEDDED { 2292 class EnsureSpace BASE_EMBEDDED {
2293 public: 2293 public:
2294 explicit EnsureSpace(Assembler* assembler) { 2294 explicit EnsureSpace(Assembler* assembler) {
2295 assembler->CheckBufferSpace(); 2295 assembler->CheckBufferSpace();
2296 } 2296 }
2297 }; 2297 };
2298 2298
2299 } } // namespace v8::internal 2299 } } // namespace v8::internal
2300 2300
2301 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ 2301 #endif // V8_ARM64_ASSEMBLER_ARM64_H_
OLDNEW
« no previous file with comments | « src/arm/macro-assembler-arm.cc ('k') | src/arm64/assembler-arm64-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698