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

Side by Side Diff: src/lookup.h

Issue 2405213002: V8 support for cached accessors. (Closed)
Patch Set: Centralized lookup in LookupIterator::TryLookupCacheProperty. Also rebase. Created 4 years, 2 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
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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_LOOKUP_H_ 5 #ifndef V8_LOOKUP_H_
6 #define V8_LOOKUP_H_ 6 #define V8_LOOKUP_H_
7 7
8 #include "src/factory.h" 8 #include "src/factory.h"
9 #include "src/globals.h" 9 #include "src/globals.h"
10 #include "src/isolate.h" 10 #include "src/isolate.h"
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 inline void UpdateProtector() { 255 inline void UpdateProtector() {
256 if (IsElement()) return; 256 if (IsElement()) return;
257 if (*name_ == heap()->is_concat_spreadable_symbol() || 257 if (*name_ == heap()->is_concat_spreadable_symbol() ||
258 *name_ == heap()->constructor_string() || 258 *name_ == heap()->constructor_string() ||
259 *name_ == heap()->species_symbol() || 259 *name_ == heap()->species_symbol() ||
260 *name_ == heap()->has_instance_symbol()) { 260 *name_ == heap()->has_instance_symbol()) {
261 InternalUpdateProtector(); 261 InternalUpdateProtector();
262 } 262 }
263 } 263 }
264 264
265 // Lookup a 'cached' private property for an accessor.
266 // If not found returns false and leaves the LookupIterator unmodified.
267 bool TryLookupCacheProperty();
Toon Verwaest 2016/10/21 08:22:14 TryLookupCache*d*Property
vogelheim 2016/11/03 16:12:24 Done.
268
265 private: 269 private:
266 void InternalUpdateProtector(); 270 void InternalUpdateProtector();
267 271
268 enum class InterceptorState { 272 enum class InterceptorState {
269 kUninitialized, 273 kUninitialized,
270 kSkipNonMasking, 274 kSkipNonMasking,
271 kProcessNonMasking 275 kProcessNonMasking
272 }; 276 };
273 277
274 Handle<Map> GetReceiverMap() const; 278 Handle<Map> GetReceiverMap() const;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 const Handle<JSReceiver> initial_holder_; 358 const Handle<JSReceiver> initial_holder_;
355 const uint32_t index_; 359 const uint32_t index_;
356 uint32_t number_; 360 uint32_t number_;
357 }; 361 };
358 362
359 363
360 } // namespace internal 364 } // namespace internal
361 } // namespace v8 365 } // namespace v8
362 366
363 #endif // V8_LOOKUP_H_ 367 #endif // V8_LOOKUP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698