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

Side by Side Diff: src/objects.h

Issue 1275363002: [IC] Make SeededNumberDictionary::UpdateMaxNumberKey prototype aware (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « src/lookup.cc ('k') | src/objects.cc » ('j') | src/objects.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_OBJECTS_H_ 5 #ifndef V8_OBJECTS_H_
6 #define V8_OBJECTS_H_ 6 #define V8_OBJECTS_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 3430 matching lines...) Expand 10 before | Expand all | Expand 10 after
3441 3441
3442 class SeededNumberDictionary 3442 class SeededNumberDictionary
3443 : public Dictionary<SeededNumberDictionary, 3443 : public Dictionary<SeededNumberDictionary,
3444 SeededNumberDictionaryShape, 3444 SeededNumberDictionaryShape,
3445 uint32_t> { 3445 uint32_t> {
3446 public: 3446 public:
3447 DECLARE_CAST(SeededNumberDictionary) 3447 DECLARE_CAST(SeededNumberDictionary)
3448 3448
3449 // Type specific at put (default NONE attributes is used when adding). 3449 // Type specific at put (default NONE attributes is used when adding).
3450 MUST_USE_RESULT static Handle<SeededNumberDictionary> AtNumberPut( 3450 MUST_USE_RESULT static Handle<SeededNumberDictionary> AtNumberPut(
3451 Handle<SeededNumberDictionary> dictionary, 3451 Handle<SeededNumberDictionary> dictionary, uint32_t key,
3452 uint32_t key, 3452 Handle<Object> value, bool used_as_prototype);
3453 Handle<Object> value);
3454 MUST_USE_RESULT static Handle<SeededNumberDictionary> AddNumberEntry( 3453 MUST_USE_RESULT static Handle<SeededNumberDictionary> AddNumberEntry(
3455 Handle<SeededNumberDictionary> dictionary, 3454 Handle<SeededNumberDictionary> dictionary, uint32_t key,
3456 uint32_t key, 3455 Handle<Object> value, PropertyDetails details, bool used_as_prototype);
3457 Handle<Object> value,
3458 PropertyDetails details);
3459 3456
3460 // Set an existing entry or add a new one if needed. 3457 // Set an existing entry or add a new one if needed.
3461 // Return the updated dictionary. 3458 // Return the updated dictionary.
3462 MUST_USE_RESULT static Handle<SeededNumberDictionary> Set( 3459 MUST_USE_RESULT static Handle<SeededNumberDictionary> Set(
3463 Handle<SeededNumberDictionary> dictionary, 3460 Handle<SeededNumberDictionary> dictionary, uint32_t key,
3464 uint32_t key, 3461 Handle<Object> value, PropertyDetails details, bool used_as_prototype);
3465 Handle<Object> value,
3466 PropertyDetails details);
3467 3462
3468 void UpdateMaxNumberKey(uint32_t key); 3463 void UpdateMaxNumberKey(uint32_t key, bool used_as_prototype);
3469 3464
3470 // If slow elements are required we will never go back to fast-case 3465 // If slow elements are required we will never go back to fast-case
3471 // for the elements kept in this dictionary. We require slow 3466 // for the elements kept in this dictionary. We require slow
3472 // elements if an element has been added at an index larger than 3467 // elements if an element has been added at an index larger than
3473 // kRequiresSlowElementsLimit or set_requires_slow_elements() has been called 3468 // kRequiresSlowElementsLimit or set_requires_slow_elements() has been called
3474 // when defining a getter or setter with a number key. 3469 // when defining a getter or setter with a number key.
3475 inline bool requires_slow_elements(); 3470 inline bool requires_slow_elements();
3476 inline void set_requires_slow_elements(); 3471 inline void set_requires_slow_elements();
3477 3472
3478 // Get the value of the max number key that has been added to this 3473 // Get the value of the max number key that has been added to this
(...skipping 7066 matching lines...) Expand 10 before | Expand all | Expand 10 after
10545 } else { 10540 } else {
10546 value &= ~(1 << bit_position); 10541 value &= ~(1 << bit_position);
10547 } 10542 }
10548 return value; 10543 return value;
10549 } 10544 }
10550 }; 10545 };
10551 10546
10552 } } // namespace v8::internal 10547 } } // namespace v8::internal
10553 10548
10554 #endif // V8_OBJECTS_H_ 10549 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/lookup.cc ('k') | src/objects.cc » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698