OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2405 MUST_USE_RESULT inline MaybeObject* EnsureCanContainElements( | 2405 MUST_USE_RESULT inline MaybeObject* EnsureCanContainElements( |
2406 FixedArrayBase* elements, | 2406 FixedArrayBase* elements, |
2407 uint32_t length, | 2407 uint32_t length, |
2408 EnsureElementsMode mode); | 2408 EnsureElementsMode mode); |
2409 MUST_USE_RESULT MaybeObject* EnsureCanContainElements( | 2409 MUST_USE_RESULT MaybeObject* EnsureCanContainElements( |
2410 Arguments* arguments, | 2410 Arguments* arguments, |
2411 uint32_t first_arg, | 2411 uint32_t first_arg, |
2412 uint32_t arg_count, | 2412 uint32_t arg_count, |
2413 EnsureElementsMode mode); | 2413 EnsureElementsMode mode); |
2414 | 2414 |
| 2415 // Would we convert a fast elements array to dictionary mode given |
| 2416 // an access at key? |
| 2417 bool WouldConvertToSlowElements(Handle<Object> key); |
2415 // Do we want to keep the elements in fast case when increasing the | 2418 // Do we want to keep the elements in fast case when increasing the |
2416 // capacity? | 2419 // capacity? |
2417 bool ShouldConvertToSlowElements(int new_capacity); | 2420 bool ShouldConvertToSlowElements(int new_capacity); |
2418 // Returns true if the backing storage for the slow-case elements of | 2421 // Returns true if the backing storage for the slow-case elements of |
2419 // this object takes up nearly as much space as a fast-case backing | 2422 // this object takes up nearly as much space as a fast-case backing |
2420 // storage would. In that case the JSObject should have fast | 2423 // storage would. In that case the JSObject should have fast |
2421 // elements. | 2424 // elements. |
2422 bool ShouldConvertToFastElements(); | 2425 bool ShouldConvertToFastElements(); |
2423 // Returns true if the elements of JSObject contains only values that can be | 2426 // Returns true if the elements of JSObject contains only values that can be |
2424 // represented in a FixedDoubleArray and has at least one value that can only | 2427 // represented in a FixedDoubleArray and has at least one value that can only |
(...skipping 8352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10777 } else { | 10780 } else { |
10778 value &= ~(1 << bit_position); | 10781 value &= ~(1 << bit_position); |
10779 } | 10782 } |
10780 return value; | 10783 return value; |
10781 } | 10784 } |
10782 }; | 10785 }; |
10783 | 10786 |
10784 } } // namespace v8::internal | 10787 } } // namespace v8::internal |
10785 | 10788 |
10786 #endif // V8_OBJECTS_H_ | 10789 #endif // V8_OBJECTS_H_ |
OLD | NEW |