OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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_X64_CODE_STUBS_X64_H_ | 5 #ifndef V8_X64_CODE_STUBS_X64_H_ |
6 #define V8_X64_CODE_STUBS_X64_H_ | 6 #define V8_X64_CODE_STUBS_X64_H_ |
7 | 7 |
8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 static const int kTotalProbes = 20; | 103 static const int kTotalProbes = 20; |
104 | 104 |
105 static const int kCapacityOffset = | 105 static const int kCapacityOffset = |
106 NameDictionary::kHeaderSize + | 106 NameDictionary::kHeaderSize + |
107 NameDictionary::kCapacityIndex * kPointerSize; | 107 NameDictionary::kCapacityIndex * kPointerSize; |
108 | 108 |
109 static const int kElementsStartOffset = | 109 static const int kElementsStartOffset = |
110 NameDictionary::kHeaderSize + | 110 NameDictionary::kHeaderSize + |
111 NameDictionary::kElementsStartIndex * kPointerSize; | 111 NameDictionary::kElementsStartIndex * kPointerSize; |
112 | 112 |
113 Major MajorKey() const { return NameDictionaryLookup; } | 113 virtual inline Major MajorKey() const FINAL OVERRIDE; |
114 | 114 |
115 Register dictionary() const { | 115 Register dictionary() const { |
116 return Register::from_code(DictionaryBits::decode(minor_key_)); | 116 return Register::from_code(DictionaryBits::decode(minor_key_)); |
117 } | 117 } |
118 | 118 |
119 Register result() const { | 119 Register result() const { |
120 return Register::from_code(ResultBits::decode(minor_key_)); | 120 return Register::from_code(ResultBits::decode(minor_key_)); |
121 } | 121 } |
122 | 122 |
123 Register index() const { | 123 Register index() const { |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 return no_reg; | 327 return no_reg; |
328 } | 328 } |
329 friend class RecordWriteStub; | 329 friend class RecordWriteStub; |
330 }; | 330 }; |
331 | 331 |
332 enum OnNoNeedToInformIncrementalMarker { | 332 enum OnNoNeedToInformIncrementalMarker { |
333 kReturnOnNoNeedToInformIncrementalMarker, | 333 kReturnOnNoNeedToInformIncrementalMarker, |
334 kUpdateRememberedSetOnNoNeedToInformIncrementalMarker | 334 kUpdateRememberedSetOnNoNeedToInformIncrementalMarker |
335 }; | 335 }; |
336 | 336 |
337 Major MajorKey() const { return RecordWrite; } | 337 virtual inline Major MajorKey() const FINAL OVERRIDE; |
338 | 338 |
339 void Generate(MacroAssembler* masm); | 339 void Generate(MacroAssembler* masm); |
340 void GenerateIncremental(MacroAssembler* masm, Mode mode); | 340 void GenerateIncremental(MacroAssembler* masm, Mode mode); |
341 void CheckNeedsToInformIncrementalMarker( | 341 void CheckNeedsToInformIncrementalMarker( |
342 MacroAssembler* masm, | 342 MacroAssembler* masm, |
343 OnNoNeedToInformIncrementalMarker on_no_need, | 343 OnNoNeedToInformIncrementalMarker on_no_need, |
344 Mode mode); | 344 Mode mode); |
345 void InformIncrementalMarker(MacroAssembler* masm); | 345 void InformIncrementalMarker(MacroAssembler* masm); |
346 | 346 |
347 void Activate(Code* code) { | 347 void Activate(Code* code) { |
(...skipping 29 matching lines...) Expand all Loading... |
377 Label slow_; | 377 Label slow_; |
378 RegisterAllocation regs_; | 378 RegisterAllocation regs_; |
379 | 379 |
380 DISALLOW_COPY_AND_ASSIGN(RecordWriteStub); | 380 DISALLOW_COPY_AND_ASSIGN(RecordWriteStub); |
381 }; | 381 }; |
382 | 382 |
383 | 383 |
384 } } // namespace v8::internal | 384 } } // namespace v8::internal |
385 | 385 |
386 #endif // V8_X64_CODE_STUBS_X64_H_ | 386 #endif // V8_X64_CODE_STUBS_X64_H_ |
OLD | NEW |