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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/api.h" | 7 #include "src/api.h" |
8 #include "src/arguments.h" | 8 #include "src/arguments.h" |
9 #include "src/base/once.h" | 9 #include "src/base/once.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 heap->empty_fixed_array()) { | 190 heap->empty_fixed_array()) { |
191 return false; | 191 return false; |
192 } | 192 } |
193 } | 193 } |
194 return true; | 194 return true; |
195 } | 195 } |
196 | 196 |
197 | 197 |
198 static inline bool IsJSArrayFastElementMovingAllowed(Heap* heap, | 198 static inline bool IsJSArrayFastElementMovingAllowed(Heap* heap, |
199 JSArray* receiver) { | 199 JSArray* receiver) { |
200 if (!FLAG_clever_optimizations) return false; | |
201 DisallowHeapAllocation no_gc; | 200 DisallowHeapAllocation no_gc; |
202 PrototypeIterator iter(heap->isolate(), receiver); | 201 PrototypeIterator iter(heap->isolate(), receiver); |
203 return ArrayPrototypeHasNoElements(heap, &iter); | 202 return ArrayPrototypeHasNoElements(heap, &iter); |
204 } | 203 } |
205 | 204 |
206 | 205 |
207 // Returns empty handle if not applicable. | 206 // Returns empty handle if not applicable. |
208 MUST_USE_RESULT | 207 MUST_USE_RESULT |
209 static inline MaybeHandle<FixedArrayBase> EnsureJSArrayWithWritableFastElements( | 208 static inline MaybeHandle<FixedArrayBase> EnsureJSArrayWithWritableFastElements( |
210 Isolate* isolate, | 209 Isolate* isolate, |
(...skipping 1434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1645 } | 1644 } |
1646 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C) | 1645 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C) |
1647 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A) | 1646 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A) |
1648 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) | 1647 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) |
1649 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) | 1648 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) |
1650 #undef DEFINE_BUILTIN_ACCESSOR_C | 1649 #undef DEFINE_BUILTIN_ACCESSOR_C |
1651 #undef DEFINE_BUILTIN_ACCESSOR_A | 1650 #undef DEFINE_BUILTIN_ACCESSOR_A |
1652 | 1651 |
1653 | 1652 |
1654 } } // namespace v8::internal | 1653 } } // namespace v8::internal |
OLD | NEW |