Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_STUB_CACHE_H_ | 5 #ifndef V8_STUB_CACHE_H_ |
| 6 #define V8_STUB_CACHE_H_ | 6 #define V8_STUB_CACHE_H_ |
| 7 | 7 |
| 8 #include "src/macro-assembler.h" | 8 #include "src/macro-assembler.h" |
| 9 | 9 |
| 10 namespace v8 { | 10 namespace v8 { |
| 11 namespace internal { | 11 namespace internal { |
| 12 | 12 |
| 13 namespace compiler { | |
| 14 class CodeStubAssembler; | |
|
Michael Starzinger
2016/02/01 16:04:12
nit: This looks like a left-over from another piec
danno
2016/02/02 07:52:55
Done.
| |
| 15 } | |
| 13 | 16 |
| 14 // The stub cache is used for megamorphic property accesses. | 17 // The stub cache is used for megamorphic property accesses. |
| 15 // It maps (map, name, type) to property access handlers. The cache does not | 18 // It maps (map, name, type) to property access handlers. The cache does not |
| 16 // need explicit invalidation when a prototype chain is modified, since the | 19 // need explicit invalidation when a prototype chain is modified, since the |
| 17 // handlers verify the chain. | 20 // handlers verify the chain. |
| 18 | 21 |
| 19 | 22 |
| 20 class SCTableReference { | 23 class SCTableReference { |
| 21 public: | 24 public: |
| 22 Address address() const { return address_; } | 25 Address address() const { return address_; } |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 153 static const int kPrimaryTableBits = 11; | 156 static const int kPrimaryTableBits = 11; |
| 154 static const int kPrimaryTableSize = (1 << kPrimaryTableBits); | 157 static const int kPrimaryTableSize = (1 << kPrimaryTableBits); |
| 155 static const int kSecondaryTableBits = 9; | 158 static const int kSecondaryTableBits = 9; |
| 156 static const int kSecondaryTableSize = (1 << kSecondaryTableBits); | 159 static const int kSecondaryTableSize = (1 << kSecondaryTableBits); |
| 157 | 160 |
| 158 private: | 161 private: |
| 159 Entry primary_[kPrimaryTableSize]; | 162 Entry primary_[kPrimaryTableSize]; |
| 160 Entry secondary_[kSecondaryTableSize]; | 163 Entry secondary_[kSecondaryTableSize]; |
| 161 Isolate* isolate_; | 164 Isolate* isolate_; |
| 162 | 165 |
| 166 friend class compiler::CodeStubAssembler; | |
|
Michael Starzinger
2016/02/01 16:04:12
nit: This looks like a left-over from another piec
danno
2016/02/02 07:52:55
Done.
| |
| 163 friend class Isolate; | 167 friend class Isolate; |
| 164 friend class SCTableReference; | 168 friend class SCTableReference; |
| 165 | 169 |
| 166 DISALLOW_COPY_AND_ASSIGN(StubCache); | 170 DISALLOW_COPY_AND_ASSIGN(StubCache); |
| 167 }; | 171 }; |
| 168 } // namespace internal | 172 } // namespace internal |
| 169 } // namespace v8 | 173 } // namespace v8 |
| 170 | 174 |
| 171 #endif // V8_STUB_CACHE_H_ | 175 #endif // V8_STUB_CACHE_H_ |
| OLD | NEW |