v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
js-objects.cc File Reference
#include "src/objects/js-objects.h"
#include <limits>
#include <optional>
#include "src/api/api-arguments-inl.h"
#include "src/api/api-natives.h"
#include "src/common/assert-scope.h"
#include "src/common/globals.h"
#include "src/date/date.h"
#include "src/execution/arguments.h"
#include "src/execution/frames.h"
#include "src/execution/isolate-utils.h"
#include "src/execution/isolate.h"
#include "src/handles/handles-inl.h"
#include "src/handles/maybe-handles.h"
#include "src/heap/factory-inl.h"
#include "src/heap/heap-inl.h"
#include "src/heap/heap-layout-inl.h"
#include "src/heap/mutable-page-metadata.h"
#include "src/heap/pretenuring-handler-inl.h"
#include "src/init/bootstrapper.h"
#include "src/logging/counters.h"
#include "src/logging/log.h"
#include "src/objects/allocation-site-inl.h"
#include "src/objects/api-callbacks.h"
#include "src/objects/arguments-inl.h"
#include "src/objects/dictionary.h"
#include "src/objects/elements.h"
#include "src/objects/field-type.h"
#include "src/objects/fixed-array.h"
#include "src/objects/heap-number.h"
#include "src/objects/heap-object.h"
#include "src/objects/js-array-buffer-inl.h"
#include "src/objects/js-array-inl.h"
#include "src/objects/js-atomics-synchronization.h"
#include "src/objects/js-collection.h"
#include "src/objects/js-disposable-stack.h"
#include "src/objects/js-generator-inl.h"
#include "src/objects/js-iterator-helpers-inl.h"
#include "src/objects/js-promise.h"
#include "src/objects/js-raw-json-inl.h"
#include "src/objects/js-regexp-inl.h"
#include "src/objects/js-regexp-string-iterator.h"
#include "src/objects/js-shadow-realm.h"
#include "src/objects/js-shared-array-inl.h"
#include "src/objects/js-struct-inl.h"
#include "src/objects/js-temporal-objects-inl.h"
#include "src/objects/js-weak-refs.h"
#include "src/objects/lookup.h"
#include "src/objects/map-inl.h"
#include "src/objects/map-updater.h"
#include "src/objects/module.h"
#include "src/objects/objects-body-descriptors-inl.h"
#include "src/objects/objects-inl.h"
#include "src/objects/oddball.h"
#include "src/objects/property-cell.h"
#include "src/objects/property-descriptor.h"
#include "src/objects/property.h"
#include "src/objects/prototype-info.h"
#include "src/objects/prototype.h"
#include "src/objects/shared-function-info.h"
#include "src/objects/swiss-name-dictionary-inl.h"
#include "src/objects/tagged.h"
#include "src/objects/transitions.h"
#include "src/strings/string-builder-inl.h"
#include "src/strings/string-stream.h"
#include "src/utils/ostreams.h"

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define SWITCH_KIND(Type, type, TYPE, ctype)
 
#define WRITE_TYPE(TYPE)
 
#define TYPED_ARRAY_CONSTRUCTORS_SWITCH(Type, type, TYPE, Ctype)
 
#define TYPED_ARRAY_CONSTRUCTORS_SWITCH(Type, type, TYPE, Ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 

Functions

V8_WARN_UNUSED_RESULT Maybe< boolv8::internal::FastGetOwnValuesOrEntries (Isolate *isolate, DirectHandle< JSReceiver > receiver, bool get_entries, Handle< FixedArray > *result)
 
MaybeDirectHandle< FixedArrayv8::internal::GetOwnValuesOrEntries (Isolate *isolate, DirectHandle< JSReceiver > object, PropertyFilter filter, bool try_fast_path, bool get_entries)
 
static const char * v8::internal::NonAPIInstanceTypeToString (InstanceType instance_type)
 
DirectHandle< NumberDictionaryv8::internal::CreateElementDictionary (Isolate *isolate, DirectHandle< JSObject > object)
 
static bool v8::internal::PrototypeBenefitsFromNormalization (Tagged< JSObject > object)
 
static bool v8::internal::ShouldConvertToFastElements (Tagged< JSObject > object, Tagged< NumberDictionary > dictionary, uint32_t index, uint32_t *new_capacity)
 
static ElementsKind v8::internal::BestFittingFastElementsKind (Tagged< JSObject > object)
 
template bool v8::internal::JSObject::UpdateAllocationSite< AllocationSiteUpdateMode::kCheckOnly > (DirectHandle< JSObject > object, ElementsKind to_kind)
 
template bool v8::internal::JSObject::UpdateAllocationSite< AllocationSiteUpdateMode::kUpdate > (DirectHandle< JSObject > object, ElementsKind to_kind)
 
template<typename BackingStore >
static int v8::internal::HoleyElementsUsage (Tagged< JSObject > object, Tagged< BackingStore > store)
 

Macro Definition Documentation

◆ SWITCH_KIND

#define SWITCH_KIND ( Type,
type,
TYPE,
ctype )
Value:
if (map()->elements_kind() == TYPE##_ELEMENTS) { \
return roots.Type##Array_string(); \
}
std::map< const std::string, const std::string > map

◆ TYPED_ARRAY_CASE [1/2]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS:

◆ TYPED_ARRAY_CASE [2/2]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS:

◆ TYPED_ARRAY_CONSTRUCTORS_SWITCH [1/2]

#define TYPED_ARRAY_CONSTRUCTORS_SWITCH ( Type,
type,
TYPE,
Ctype )
Value:
case TYPE##_TYPED_ARRAY_CONSTRUCTOR_TYPE:

◆ TYPED_ARRAY_CONSTRUCTORS_SWITCH [2/2]

#define TYPED_ARRAY_CONSTRUCTORS_SWITCH ( Type,
type,
TYPE,
Ctype )
Value:
case TYPE##_TYPED_ARRAY_CONSTRUCTOR_TYPE:

◆ WRITE_TYPE

#define WRITE_TYPE ( TYPE)
Value:
case TYPE: \
return #TYPE;