| 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 { | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 46   void Clear(); | 46   void Clear(); | 
| 47   // Collect all maps that match the name and flags. | 47   // Collect all maps that match the name and flags. | 
| 48   void CollectMatchingMaps(SmallMapList* types, Handle<Name> name, | 48   void CollectMatchingMaps(SmallMapList* types, Handle<Name> name, | 
| 49                            Code::Flags flags, Handle<Context> native_context, | 49                            Code::Flags flags, Handle<Context> native_context, | 
| 50                            Zone* zone); | 50                            Zone* zone); | 
| 51   // Generate code for probing the stub cache table. | 51   // Generate code for probing the stub cache table. | 
| 52   // Arguments extra, extra2 and extra3 may be used to pass additional scratch | 52   // Arguments extra, extra2 and extra3 may be used to pass additional scratch | 
| 53   // registers. Set to no_reg if not needed. | 53   // registers. Set to no_reg if not needed. | 
| 54   // If leave_frame is true, then exit a frame before the tail call. | 54   // If leave_frame is true, then exit a frame before the tail call. | 
| 55   void GenerateProbe(MacroAssembler* masm, Code::Kind ic_kind, | 55   void GenerateProbe(MacroAssembler* masm, Code::Kind ic_kind, | 
| 56                      Code::Flags flags, bool leave_frame, Register receiver, | 56                      Code::Flags flags, Register receiver, Register name, | 
| 57                      Register name, Register scratch, Register extra, | 57                      Register scratch, Register extra, Register extra2 = no_reg, | 
| 58                      Register extra2 = no_reg, Register extra3 = no_reg); | 58                      Register extra3 = no_reg); | 
| 59 | 59 | 
| 60   enum Table { kPrimary, kSecondary }; | 60   enum Table { kPrimary, kSecondary }; | 
| 61 | 61 | 
| 62   SCTableReference key_reference(StubCache::Table table) { | 62   SCTableReference key_reference(StubCache::Table table) { | 
| 63     return SCTableReference( | 63     return SCTableReference( | 
| 64         reinterpret_cast<Address>(&first_entry(table)->key)); | 64         reinterpret_cast<Address>(&first_entry(table)->key)); | 
| 65   } | 65   } | 
| 66 | 66 | 
| 67   SCTableReference map_reference(StubCache::Table table) { | 67   SCTableReference map_reference(StubCache::Table table) { | 
| 68     return SCTableReference( | 68     return SCTableReference( | 
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 162 | 162 | 
| 163   friend class Isolate; | 163   friend class Isolate; | 
| 164   friend class SCTableReference; | 164   friend class SCTableReference; | 
| 165 | 165 | 
| 166   DISALLOW_COPY_AND_ASSIGN(StubCache); | 166   DISALLOW_COPY_AND_ASSIGN(StubCache); | 
| 167 }; | 167 }; | 
| 168 } | 168 } | 
| 169 }  // namespace v8::internal | 169 }  // namespace v8::internal | 
| 170 | 170 | 
| 171 #endif  // V8_STUB_CACHE_H_ | 171 #endif  // V8_STUB_CACHE_H_ | 
| OLD | NEW | 
|---|