Lines Matching full:handle
13 // Each concrete ElementsAccessor can handle exactly one ElementsKind,
126 static bool HasKey(Handle<FixedArray> array, Handle<Object> key_handle) {
250 static void CopyDoubleToObjectElements(Handle<FixedArrayBase> from_base,
252 Handle<FixedArrayBase> to_base,
280 Handle<FixedDoubleArray> from = Handle<FixedDoubleArray>::cast(from_base);
281 Handle<FixedArray> to = Handle<FixedArray>::cast(to_base);
288 Handle<Object> value = FixedDoubleArray::get(from, i + from_start);
490 void CheckArrayAbuse(Handle<JSObject> obj, const char* op, uint32_t key,
561 static void ValidateContents(Handle<JSObject> holder, int length) {
564 static void ValidateImpl(Handle<JSObject> holder) {
565 Handle<FixedArrayBase> fixed_array_base(holder->elements());
571 Object* length_obj = Handle<JSArray>::cast(holder)->length();
581 virtual void Validate(Handle<JSObject> holder) FINAL OVERRIDE {
586 static bool HasElementImpl(Handle<Object> receiver,
587 Handle<JSObject> holder,
589 Handle<FixedArrayBase> backing_store) {
595 Handle<Object> receiver,
596 Handle<JSObject> holder,
598 Handle<FixedArrayBase> backing_store) FINAL OVERRIDE {
604 Handle<Object> receiver,
605 Handle<JSObject> holder,
607 Handle<FixedArrayBase> backing_store) FINAL OVERRIDE {
623 Handle<Object> receiver,
624 Handle<JSObject> obj,
626 Handle<FixedArrayBase> backing_store) {
628 return BackingStore::get(Handle<BackingStore>::cast(backing_store), key);
635 Handle<Object> receiver,
636 Handle<JSObject> holder,
638 Handle<FixedArrayBase> backing_store) FINAL OVERRIDE {
644 Handle<Object> receiver,
645 Handle<JSObject> obj,
647 Handle<FixedArrayBase> backing_store) {
652 Handle<BackingStore>::cast(backing_store)->is_the_hole(key)
657 Handle<Object> receiver,
658 Handle<JSObject> holder,
660 Handle<FixedArrayBase> backing_store) FINAL OVERRIDE {
666 Handle<Object> receiver,
667 Handle<JSObject> obj,
669 Handle<FixedArrayBase> backing_store) {
674 Handle<JSArray> array,
675 Handle<Object> length) FINAL OVERRIDE {
677 array, length, handle(array->elements()));
681 Handle<JSObject> obj,
682 Handle<Object> length,
683 Handle<FixedArrayBase> backing_store);
686 Handle<JSArray> array,
694 Handle<JSObject> obj,
701 Handle<JSObject> obj,
705 static void CopyElementsImpl(Handle<FixedArrayBase> from,
707 Handle<FixedArrayBase> to,
716 Handle<FixedArrayBase> from,
719 Handle<FixedArrayBase> to,
732 Handle<FixedArrayBase> to,
745 Handle<FixedArrayBase> from(from_holder->elements());
751 Handle<Object> receiver,
752 Handle<JSObject> holder,
753 Handle<FixedArray> to,
754 Handle<FixedArrayBase> from) FINAL OVERRIDE {
777 Handle<Object> value;
793 Handle<FixedArray> result = isolate->factory()->NewFixedArray(len0 + extra);
812 Handle<Object> value;
828 static uint32_t GetCapacityImpl(Handle<FixedArrayBase> backing_store) {
832 virtual uint32_t GetCapacity(Handle<FixedArrayBase> backing_store)
837 static uint32_t GetKeyForIndexImpl(Handle<FixedArrayBase> backing_store,
842 virtual uint32_t GetKeyForIndex(Handle<FixedArrayBase> backing_store,
868 static Handle<Object> SetLengthWithoutNormalize(
869 Handle<FixedArrayBase> backing_store,
870 Handle<JSArray> array,
871 Handle<Object> length_object,
875 Handle<Object> old_length(array->length(), isolate);
877 static_cast<uint32_t>(Handle<Smi>::cast(old_length)->value()) >= length;
903 Handle<BackingStore>::cast(backing_store)->set_the_hole(i);
918 static Handle<Object> DeleteCommon(Handle<JSObject> obj,
926 Handle<FixedArrayBase> elements(obj->elements());
930 Handle<BackingStore> backing_store = Handle<BackingStore>::cast(elements);
934 backing_store = handle(
935 BackingStore::cast(Handle<FixedArray>::cast(backing_store)->get(1)),
940 ? Smi::cast(Handle<JSArray>::cast(obj)->length())->value()
949 Handle<Object> writable = JSObject::EnsureWritableFastElements(obj);
950 backing_store = Handle<BackingStore>::cast(writable);
978 Handle<JSObject> obj,
985 Handle<Object> receiver,
986 Handle<JSObject> holder,
988 Handle<FixedArrayBase> backing_store) {
992 return !Handle<BackingStore>::cast(backing_store)->is_the_hole(key);
995 static void ValidateContents(Handle<JSObject> holder, int length) {
999 Handle<FixedArrayBase> elements(holder->elements(), isolate);
1010 Handle<BackingStore> backing_store = Handle<BackingStore>::cast(elements);
1021 static inline ElementsKind ElementsKindForArray(Handle<FixedArrayBase> array) {
1057 static void CopyElementsImpl(Handle<FixedArrayBase> from,
1059 Handle<FixedArrayBase> to,
1086 Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(from);
1087 Handle<FixedArrayBase> arguments(
1105 Handle<JSObject> obj,
1175 static void SetFastElementsCapacityAndLength(Handle<JSObject> obj,
1182 static void CopyElementsImpl(Handle<FixedArrayBase> from,
1184 Handle<FixedArrayBase> to,
1270 Handle<Object> receiver,
1271 Handle<JSObject> obj,
1273 Handle<FixedArrayBase> backing_store) {
1275 return BackingStore::get(Handle<BackingStore>::cast(backing_store), key);
1282 Handle<Object> receiver,
1283 Handle<JSObject> obj,
1285 Handle<FixedArrayBase> backing_store) {
1292 Handle<JSObject> obj,
1293 Handle<Object> length,
1294 Handle<FixedArrayBase> backing_store) {
1301 Handle<JSObject> obj,
1308 static bool HasElementImpl(Handle<Object> receiver,
1309 Handle<JSObject> holder,
1311 Handle<FixedArrayBase> backing_store) {
1346 static Handle<Object> SetLengthWithoutNormalize(
1347 Handle<FixedArrayBase> store,
1348 Handle<JSArray> array,
1349 Handle<Object> length_object,
1351 Handle<SeededNumberDictionary> dict =
1352 Handle<SeededNumberDictionary>::cast(store);
1383 Handle<Object> the_hole_value = isolate->factory()->the_hole_value();
1402 Handle<JSObject> obj,
1406 Handle<FixedArray> backing_store(FixedArray::cast(obj->elements()),
1411 backing_store = handle(FixedArray::cast(backing_store->get(1)), isolate);
1413 Handle<SeededNumberDictionary> dictionary =
1414 Handle<SeededNumberDictionary>::cast(backing_store);
1417 Handle<Object> result =
1422 Handle<Object> name = isolate->factory()->NewNumberFromUint(key);
1423 Handle<Object> args[2] = { name, obj };
1430 Handle<FixedArray> new_elements =
1442 static void CopyElementsImpl(Handle<FixedArrayBase> from,
1444 Handle<FixedArrayBase> to,
1458 Handle<JSObject> obj,
1465 Handle<Object> receiver,
1466 Handle<JSObject> obj,
1468 Handle<FixedArrayBase> store) {
1469 Handle<SeededNumberDictionary> backing_store =
1470 Handle<SeededNumberDictionary>::cast(store);
1474 Handle<Object> element(backing_store->ValueAt(entry), isolate);
1487 Handle<Object> receiver,
1488 Handle<JSObject> obj,
1490 Handle<FixedArrayBase> backing_store) {
1491 Handle<SeededNumberDictionary> dictionary =
1492 Handle<SeededNumberDictionary>::cast(backing_store);
1501 Handle<Object> receiver,
1502 Handle<JSObject> obj,
1504 Handle<FixedArrayBase> store) {
1505 Handle<SeededNumberDictionary> backing_store =
1506 Handle<SeededNumberDictionary>::cast(store);
1511 return handle(AccessorPair::cast(backing_store->ValueAt(entry)));
1516 static bool HasElementImpl(Handle<Object> receiver,
1517 Handle<JSObject> holder,
1519 Handle<FixedArrayBase> store) {
1520 Handle<SeededNumberDictionary> backing_store =
1521 Handle<SeededNumberDictionary>::cast(store);
1525 static uint32_t GetKeyForIndexImpl(Handle<FixedArrayBase> store,
1528 Handle<SeededNumberDictionary> dict =
1529 Handle<SeededNumberDictionary>::cast(store);
1550 Handle<Object> receiver,
1551 Handle<JSObject> obj,
1553 Handle<FixedArrayBase> parameters) {
1555 Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(parameters);
1556 Handle<Object> probe = GetParameterMapArg(obj, parameter_map, key);
1560 int context_index = Handle<Smi>::cast(probe)->value();
1562 return handle(context->get(context_index), isolate);
1565 Handle<FixedArray> arguments(FixedArray::cast(parameter_map->get(1)),
1567 Handle<Object> result;
1580 return handle(context->get(context_index), isolate);
1588 Handle<Object> receiver,
1589 Handle<JSObject> obj,
1591 Handle<FixedArrayBase> backing_store) {
1592 Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(backing_store);
1593 Handle<Object> probe = GetParameterMapArg(obj, parameter_map, key);
1598 Handle<FixedArray> arguments(FixedArray::cast(parameter_map->get(1)));
1605 Handle<Object> receiver,
1606 Handle<JSObject> obj,
1608 Handle<FixedArrayBase> parameters) {
1609 Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(parameters);
1610 Handle<Object> probe = GetParameterMapArg(obj, parameter_map, key);
1615 Handle<FixedArray> arguments(FixedArray::cast(parameter_map->get(1)));
1622 Handle<JSObject> obj,
1623 Handle<Object> length,
1624 Handle<FixedArrayBase> parameter_map) {
1632 Handle<JSObject> obj,
1636 Handle<FixedArray> parameter_map(FixedArray::cast(obj->elements()));
1637 Handle<Object> probe = GetParameterMapArg(obj, parameter_map, key);
1644 Handle<FixedArray> arguments(FixedArray::cast(parameter_map->get(1)));
1657 static void CopyElementsImpl(Handle<FixedArrayBase> from,
1659 Handle<FixedArrayBase> to,
1667 static uint32_t GetCapacityImpl(Handle<FixedArrayBase> backing_store) {
1668 Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(backing_store);
1669 Handle<FixedArrayBase> arguments(
1675 static uint32_t GetKeyForIndexImpl(Handle<FixedArrayBase> dict,
1680 static bool HasElementImpl(Handle<Object> receiver,
1681 Handle<JSObject> holder,
1683 Handle<FixedArrayBase> parameters) {
1684 Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(parameters);
1685 Handle<Object> probe = GetParameterMapArg(holder, parameter_map, key);
1690 Handle<FixedArrayBase> arguments(FixedArrayBase::cast(
1691 Handle<FixedArray>::cast(parameter_map)->get(1)), isolate);
1693 Handle<Object> value;
1703 static Handle<Object> GetParameterMapArg(Handle<JSObject> holder,
1704 Handle<FixedArray> parameter_map,
1708 ? Smi::cast(Handle
1711 ? handle(parameter_map->get(key + 2), isolate)
1712 : Handle<Object>::cast(isolate->factory()->the_hole_value());
1717 ElementsAccessor* ElementsAccessor::ForArray(Handle<FixedArrayBase> array) {
1749 SetLengthImpl(Handle<JSObject> obj,
1750 Handle<Object> length,
1751 Handle<FixedArrayBase> backing_store) {
1753 Handle<JSArray> array = Handle<JSArray>::cast(obj);
1756 Handle<Object> smi_length;
1760 const int value = Handle<Smi>::cast(smi_length)->value();
1762 Handle<Object> new_length = ElementsAccessorSubclass::
1773 array->set_length(*Handle<Smi>::cast(new_length));
1789 Handle<SeededNumberDictionary> dictionary =
1793 Handle<Object> new_length = DictionaryElementsAccessor::
1807 Handle<FixedArray> new_backing_store = isolate->factory()->NewFixedArray(1);
1814 MaybeHandle<Object> ArrayConstructInitializeElements(Handle<JSArray> array,
1819 Handle<Object> obj = args->at<Object>(0);
1821 int len = Handle<Smi>::cast(obj)->value();
1858 Handle<FixedArrayBase> elms;
1860 elms = Handle<FixedArrayBase>::cast(
1863 elms = Handle<FixedArrayBase>::cast(
1871 Handle<FixedArray> smi_elms = Handle<FixedArray>::cast(elms);
1881 Handle<FixedArray> object_elms = Handle<FixedArray>::cast(elms);
1889 Handle<FixedDoubleArray> double_elms =
1890 Handle<FixedDoubleArray>::cast(elms);