OLD | NEW |
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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/arguments.h" | 7 #include "src/arguments.h" |
8 #include "src/runtime/runtime-utils.h" | 8 #include "src/runtime/runtime-utils.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 1210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1221 !iter.IsAtEnd(); iter.Advance()) { | 1221 !iter.IsAtEnd(); iter.Advance()) { |
1222 if (PrototypeIterator::GetCurrent(iter)->IsJSProxy()) { | 1222 if (PrototypeIterator::GetCurrent(iter)->IsJSProxy()) { |
1223 return isolate->heap()->true_value(); | 1223 return isolate->heap()->true_value(); |
1224 } | 1224 } |
1225 Handle<JSObject> current = | 1225 Handle<JSObject> current = |
1226 Handle<JSObject>::cast(PrototypeIterator::GetCurrent(iter)); | 1226 Handle<JSObject>::cast(PrototypeIterator::GetCurrent(iter)); |
1227 if (current->HasIndexedInterceptor()) { | 1227 if (current->HasIndexedInterceptor()) { |
1228 return isolate->heap()->true_value(); | 1228 return isolate->heap()->true_value(); |
1229 } | 1229 } |
1230 if (!current->HasDictionaryElements()) continue; | 1230 if (!current->HasDictionaryElements()) continue; |
1231 if (current->element_dictionary()->HasComplexElements()) { | 1231 if (current->element_dictionary() |
| 1232 ->HasComplexElements<DictionaryEntryType::kObjects>()) { |
1232 return isolate->heap()->true_value(); | 1233 return isolate->heap()->true_value(); |
1233 } | 1234 } |
1234 } | 1235 } |
1235 return isolate->heap()->false_value(); | 1236 return isolate->heap()->false_value(); |
1236 } | 1237 } |
1237 | 1238 |
1238 | 1239 |
1239 // TODO(dcarney): remove this function when TurboFan supports it. | 1240 // TODO(dcarney): remove this function when TurboFan supports it. |
1240 // Takes the object to be iterated over and the result of GetPropertyNamesFast | 1241 // Takes the object to be iterated over and the result of GetPropertyNamesFast |
1241 // Returns pair (cache_array, cache_type). | 1242 // Returns pair (cache_array, cache_type). |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1347 | 1348 |
1348 RUNTIME_FUNCTION(Runtime_FastOneByteArrayJoin) { | 1349 RUNTIME_FUNCTION(Runtime_FastOneByteArrayJoin) { |
1349 SealHandleScope shs(isolate); | 1350 SealHandleScope shs(isolate); |
1350 DCHECK(args.length() == 2); | 1351 DCHECK(args.length() == 2); |
1351 // Returning undefined means that this fast path fails and one has to resort | 1352 // Returning undefined means that this fast path fails and one has to resort |
1352 // to a slow path. | 1353 // to a slow path. |
1353 return isolate->heap()->undefined_value(); | 1354 return isolate->heap()->undefined_value(); |
1354 } | 1355 } |
1355 } | 1356 } |
1356 } // namespace v8::internal | 1357 } // namespace v8::internal |
OLD | NEW |