���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /home/real/node-v13.0.1/deps/v8/src/builtins/ |
// Copyright 2018 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include 'src/builtins/builtins-array-gen.h' namespace array { // Naming convention from elements.cc. We have a similar intent but implement // fastpaths using generics instead of using a class hierarchy for elements // kinds specific implementations. type GenericElementsAccessor; type FastPackedSmiElements; type FastPackedObjectElements; type FastPackedDoubleElements; type FastSmiOrObjectElements; type FastDoubleElements; type DictionaryElements; macro EnsureWriteableFastElements(implicit context: Context)(array: JSArray) { assert(IsFastElementsKind(array.map.elements_kind)); const elements: FixedArrayBase = array.elements; if (elements.map != kCOWMap) return; // There are no COW *_DOUBLE_ELEMENTS arrays, so we are allowed to always // extract FixedArrays and don't have to worry about FixedDoubleArrays. assert(IsFastSmiOrTaggedElementsKind(array.map.elements_kind)); const length: Smi = Cast<Smi>(array.length) otherwise unreachable; array.elements = ExtractFixedArray(elements, 0, length, length, kFixedArrays); assert(array.elements.map != kCOWMap); } macro LoadElementOrUndefined(implicit context: Context)(a: FixedArray, i: Smi): JSAny { const e = UnsafeCast<(JSAny | TheHole)>(a.objects[i]); return ReplaceTheHoleWithUndefined(e); } macro LoadElementOrUndefined(a: FixedDoubleArray, i: Smi): NumberOrUndefined { const f: float64 = LoadDoubleWithHoleCheck(a, i) otherwise return Undefined; return AllocateHeapNumberWithValue(f); } macro StoreArrayHole(elements: FixedDoubleArray, k: Smi): void { StoreFixedDoubleArrayHoleSmi(elements, k); } macro StoreArrayHole(elements: FixedArray, k: Smi): void { elements.objects[k] = TheHole; } extern macro SetPropertyLength(implicit context: Context)(JSAny, Number); }