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

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

Issue 530343005: Clean up code stubs and ensure distinct major keys. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
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 #include "src/code-stubs.h" 8 #include "src/code-stubs.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 class StoreRegistersStateStub: public PlatformCodeStub { 56 class StoreRegistersStateStub: public PlatformCodeStub {
57 public: 57 public:
58 explicit StoreRegistersStateStub(Isolate* isolate) 58 explicit StoreRegistersStateStub(Isolate* isolate)
59 : PlatformCodeStub(isolate) {} 59 : PlatformCodeStub(isolate) {}
60 60
61 static Register to_be_pushed_lr() { return ip0; } 61 static Register to_be_pushed_lr() { return ip0; }
62 62
63 static void GenerateAheadOfTime(Isolate* isolate); 63 static void GenerateAheadOfTime(Isolate* isolate);
64 64
65 private: 65 private:
66 Major MajorKey() const { return StoreRegistersState; } 66 virtual inline Major MajorKey() const FINAL OVERRIDE;
67 67
68 void Generate(MacroAssembler* masm); 68 void Generate(MacroAssembler* masm);
69 69
70 DISALLOW_COPY_AND_ASSIGN(StoreRegistersStateStub); 70 DISALLOW_COPY_AND_ASSIGN(StoreRegistersStateStub);
71 }; 71 };
72 72
73 73
74 class RestoreRegistersStateStub: public PlatformCodeStub { 74 class RestoreRegistersStateStub: public PlatformCodeStub {
75 public: 75 public:
76 explicit RestoreRegistersStateStub(Isolate* isolate) 76 explicit RestoreRegistersStateStub(Isolate* isolate)
77 : PlatformCodeStub(isolate) {} 77 : PlatformCodeStub(isolate) {}
78 78
79 static void GenerateAheadOfTime(Isolate* isolate); 79 static void GenerateAheadOfTime(Isolate* isolate);
80
80 private: 81 private:
81 Major MajorKey() const { return RestoreRegistersState; } 82 virtual inline Major MajorKey() const FINAL OVERRIDE;
82 83
83 void Generate(MacroAssembler* masm); 84 void Generate(MacroAssembler* masm);
84 85
85 DISALLOW_COPY_AND_ASSIGN(RestoreRegistersStateStub); 86 DISALLOW_COPY_AND_ASSIGN(RestoreRegistersStateStub);
86 }; 87 };
87 88
88 89
89 class RecordWriteStub: public PlatformCodeStub { 90 class RecordWriteStub: public PlatformCodeStub {
90 public: 91 public:
91 // Stub to record the write of 'value' at 'address' in 'object'. 92 // Stub to record the write of 'value' at 'address' in 'object'.
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 } 287 }
287 288
288 friend class RecordWriteStub; 289 friend class RecordWriteStub;
289 }; 290 };
290 291
291 enum OnNoNeedToInformIncrementalMarker { 292 enum OnNoNeedToInformIncrementalMarker {
292 kReturnOnNoNeedToInformIncrementalMarker, 293 kReturnOnNoNeedToInformIncrementalMarker,
293 kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 294 kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
294 }; 295 };
295 296
296 Major MajorKey() const { return RecordWrite; } 297 virtual inline Major MajorKey() const FINAL OVERRIDE;
297 298
298 void Generate(MacroAssembler* masm); 299 void Generate(MacroAssembler* masm);
299 void GenerateIncremental(MacroAssembler* masm, Mode mode); 300 void GenerateIncremental(MacroAssembler* masm, Mode mode);
300 void CheckNeedsToInformIncrementalMarker( 301 void CheckNeedsToInformIncrementalMarker(
301 MacroAssembler* masm, 302 MacroAssembler* masm,
302 OnNoNeedToInformIncrementalMarker on_no_need, 303 OnNoNeedToInformIncrementalMarker on_no_need,
303 Mode mode); 304 Mode mode);
304 void InformIncrementalMarker(MacroAssembler* masm); 305 void InformIncrementalMarker(MacroAssembler* masm);
305 306
306 void Activate(Code* code) { 307 void Activate(Code* code) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 341
341 // Helper to call C++ functions from generated code. The caller must prepare 342 // Helper to call C++ functions from generated code. The caller must prepare
342 // the exit frame before doing the call with GenerateCall. 343 // the exit frame before doing the call with GenerateCall.
343 class DirectCEntryStub: public PlatformCodeStub { 344 class DirectCEntryStub: public PlatformCodeStub {
344 public: 345 public:
345 explicit DirectCEntryStub(Isolate* isolate) : PlatformCodeStub(isolate) {} 346 explicit DirectCEntryStub(Isolate* isolate) : PlatformCodeStub(isolate) {}
346 void Generate(MacroAssembler* masm); 347 void Generate(MacroAssembler* masm);
347 void GenerateCall(MacroAssembler* masm, Register target); 348 void GenerateCall(MacroAssembler* masm, Register target);
348 349
349 private: 350 private:
350 Major MajorKey() const { return DirectCEntry; } 351 virtual inline Major MajorKey() const FINAL OVERRIDE;
351 352
352 bool NeedsImmovableCode() { return true; } 353 bool NeedsImmovableCode() { return true; }
353 354
354 DISALLOW_COPY_AND_ASSIGN(DirectCEntryStub); 355 DISALLOW_COPY_AND_ASSIGN(DirectCEntryStub);
355 }; 356 };
356 357
357 358
358 class NameDictionaryLookupStub: public PlatformCodeStub { 359 class NameDictionaryLookupStub: public PlatformCodeStub {
359 public: 360 public:
360 enum LookupMode { POSITIVE_LOOKUP, NEGATIVE_LOOKUP }; 361 enum LookupMode { POSITIVE_LOOKUP, NEGATIVE_LOOKUP };
(...skipping 28 matching lines...) Expand all
389 static const int kTotalProbes = 20; 390 static const int kTotalProbes = 20;
390 391
391 static const int kCapacityOffset = 392 static const int kCapacityOffset =
392 NameDictionary::kHeaderSize + 393 NameDictionary::kHeaderSize +
393 NameDictionary::kCapacityIndex * kPointerSize; 394 NameDictionary::kCapacityIndex * kPointerSize;
394 395
395 static const int kElementsStartOffset = 396 static const int kElementsStartOffset =
396 NameDictionary::kHeaderSize + 397 NameDictionary::kHeaderSize +
397 NameDictionary::kElementsStartIndex * kPointerSize; 398 NameDictionary::kElementsStartIndex * kPointerSize;
398 399
399 Major MajorKey() const { return NameDictionaryLookup; } 400 virtual inline Major MajorKey() const FINAL OVERRIDE;
400 401
401 LookupMode mode() const { return LookupModeBits::decode(minor_key_); } 402 LookupMode mode() const { return LookupModeBits::decode(minor_key_); }
402 403
403 class LookupModeBits: public BitField<LookupMode, 0, 1> {}; 404 class LookupModeBits: public BitField<LookupMode, 0, 1> {};
404 405
405 DISALLOW_COPY_AND_ASSIGN(NameDictionaryLookupStub); 406 DISALLOW_COPY_AND_ASSIGN(NameDictionaryLookupStub);
406 }; 407 };
407 408
408 } } // namespace v8::internal 409 } } // namespace v8::internal
409 410
410 #endif // V8_ARM64_CODE_STUBS_ARM64_H_ 411 #endif // V8_ARM64_CODE_STUBS_ARM64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698