V8 Project
|
#include "src/base/atomicops.h"
#include "src/base/bits.h"
#include "src/contexts.h"
#include "src/conversions-inl.h"
#include "src/elements.h"
#include "src/factory.h"
#include "src/field-index-inl.h"
#include "src/heap/heap-inl.h"
#include "src/heap/heap.h"
#include "src/heap/incremental-marking.h"
#include "src/heap/objects-visiting.h"
#include "src/heap/spaces.h"
#include "src/heap/store-buffer.h"
#include "src/isolate.h"
#include "src/lookup.h"
#include "src/objects.h"
#include "src/property.h"
#include "src/prototype.h"
#include "src/transitions-inl.h"
#include "src/type-feedback-vector-inl.h"
#include "src/v8memory.h"
Go to the source code of this file.
Namespaces | |
v8 | |
Debugger support for the V8 JavaScript engine. | |
v8::internal | |
Macros | |
#define | TYPE_CHECKER(type, instancetype) |
#define | CAST_ACCESSOR(type) |
#define | INT_ACCESSORS(holder, name, offset) |
#define | ACCESSORS(holder, name, type, offset) |
#define | ACCESSORS_TO_SMI(holder, name, offset) |
#define | SMI_ACCESSORS(holder, name, offset) |
#define | SYNCHRONIZED_SMI_ACCESSORS(holder, name, offset) |
#define | NOBARRIER_SMI_ACCESSORS(holder, name, offset) |
#define | BOOL_GETTER(holder, field, name, offset) |
#define | BOOL_ACCESSORS(holder, field, name, offset) |
#define | TYPED_ARRAY_TYPE_CHECKER(Type, type, TYPE, ctype, size) |
#define | MAKE_STRUCT_CASE(NAME, Name, name) case NAME##_TYPE: return true; |
#define | MAKE_STRUCT_PREDICATE(NAME, Name, name) |
#define | FIELD_ADDR(p, offset) (reinterpret_cast<byte*>(p) + offset - kHeapObjectTag) |
#define | FIELD_ADDR_CONST(p, offset) (reinterpret_cast<const byte*>(p) + offset - kHeapObjectTag) |
#define | READ_FIELD(p, offset) (*reinterpret_cast<Object* const*>(FIELD_ADDR_CONST(p, offset))) |
#define | ACQUIRE_READ_FIELD(p, offset) |
#define | NOBARRIER_READ_FIELD(p, offset) |
#define | WRITE_FIELD(p, offset, value) (*reinterpret_cast<Object**>(FIELD_ADDR(p, offset)) = value) |
#define | RELEASE_WRITE_FIELD(p, offset, value) |
#define | NOBARRIER_WRITE_FIELD(p, offset, value) |
#define | WRITE_BARRIER(heap, object, offset, value) |
#define | CONDITIONAL_WRITE_BARRIER(heap, object, offset, value, mode) |
#define | READ_DOUBLE_FIELD(p, offset) (*reinterpret_cast<const double*>(FIELD_ADDR_CONST(p, offset))) |
#define | WRITE_DOUBLE_FIELD(p, offset, value) (*reinterpret_cast<double*>(FIELD_ADDR(p, offset)) = value) |
#define | READ_INT_FIELD(p, offset) (*reinterpret_cast<const int*>(FIELD_ADDR_CONST(p, offset))) |
#define | WRITE_INT_FIELD(p, offset, value) (*reinterpret_cast<int*>(FIELD_ADDR(p, offset)) = value) |
#define | READ_INTPTR_FIELD(p, offset) (*reinterpret_cast<const intptr_t*>(FIELD_ADDR_CONST(p, offset))) |
#define | WRITE_INTPTR_FIELD(p, offset, value) (*reinterpret_cast<intptr_t*>(FIELD_ADDR(p, offset)) = value) |
#define | READ_UINT32_FIELD(p, offset) (*reinterpret_cast<const uint32_t*>(FIELD_ADDR_CONST(p, offset))) |
#define | WRITE_UINT32_FIELD(p, offset, value) (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset)) = value) |
#define | READ_INT32_FIELD(p, offset) (*reinterpret_cast<const int32_t*>(FIELD_ADDR_CONST(p, offset))) |
#define | WRITE_INT32_FIELD(p, offset, value) (*reinterpret_cast<int32_t*>(FIELD_ADDR(p, offset)) = value) |
#define | READ_INT64_FIELD(p, offset) (*reinterpret_cast<const int64_t*>(FIELD_ADDR_CONST(p, offset))) |
#define | WRITE_INT64_FIELD(p, offset, value) (*reinterpret_cast<int64_t*>(FIELD_ADDR(p, offset)) = value) |
#define | READ_SHORT_FIELD(p, offset) (*reinterpret_cast<const uint16_t*>(FIELD_ADDR_CONST(p, offset))) |
#define | WRITE_SHORT_FIELD(p, offset, value) (*reinterpret_cast<uint16_t*>(FIELD_ADDR(p, offset)) = value) |
#define | READ_BYTE_FIELD(p, offset) (*reinterpret_cast<const byte*>(FIELD_ADDR_CONST(p, offset))) |
#define | NOBARRIER_READ_BYTE_FIELD(p, offset) |
#define | WRITE_BYTE_FIELD(p, offset, value) (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset)) = value) |
#define | NOBARRIER_WRITE_BYTE_FIELD(p, offset, value) |
#define | MAKE_STRUCT_CAST(NAME, Name, name) CAST_ACCESSOR(Name) |
#define | TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) |
#define | CASE(name) case name: return true; |
#define | PSEUDO_SMI_ACCESSORS_LO(holder, name, offset) |
#define | PSEUDO_SMI_ACCESSORS_HI(holder, name, offset) |
#define | ORDERED_HASH_TABLE_ITERATOR_ACCESSORS(name, type, offset) |
#define | EXTERNAL_ELEMENTS_CHECK(Type, type, TYPE, ctype, size) |
#define | FIXED_TYPED_ELEMENTS_CHECK(Type, type, TYPE, ctype, size) |
Functions | |
v8::internal::STATIC_ASSERT ((kStringRepresentationMask|kStringEncodingMask)==Internals::kFullStringRepresentationMask) | |
v8::internal::STATIC_ASSERT (static_cast< uint32_t >(kStringEncodingMask)==Internals::kStringEncodingMask) | |
v8::internal::STATIC_ASSERT ((kExternalStringTag|kOneByteStringTag)==Internals::kExternalOneByteRepresentationTag) | |
v8::internal::STATIC_ASSERT (v8::String::ONE_BYTE_ENCODING==kOneByteStringTag) | |
v8::internal::STATIC_ASSERT ((kExternalStringTag|kTwoByteStringTag)==Internals::kExternalTwoByteRepresentationTag) | |
v8::internal::STATIC_ASSERT (v8::String::TWO_BYTE_ENCODING==kTwoByteStringTag) | |
template<> | |
bool | v8::internal::Is< JSFunction > (Object *obj) |
template<> | |
bool | v8::internal::Is< JSArray > (Object *obj) |
template<SearchMode search_mode, typename T > | |
int | v8::internal::BinarySearch (T *array, Name *name, int low, int high, int valid_entries) |
template<SearchMode search_mode, typename T > | |
int | v8::internal::LinearSearch (T *array, Name *name, int len, int valid_entries) |
template<SearchMode search_mode, typename T > | |
int | v8::internal::Search (T *array, Name *name, int valid_entries) |
static void | v8::internal::EnsureHasTransitionArray (Handle< Map > map) |
v8::internal::ACCESSORS (AccessorInfo, expected_receiver_type, Object, kExpectedReceiverTypeOffset) ACCESSORS(DeclaredAccessorDescriptor | |
kSerializedDataOffset | v8::internal::ACCESSORS (DeclaredAccessorInfo, descriptor, DeclaredAccessorDescriptor, kDescriptorOffset) ACCESSORS(FunctionTemplateInfo |
kSerializedDataOffset kPrototypeTemplateOffset | v8::internal::ACCESSORS (FunctionTemplateInfo, named_property_handler, Object, kNamedPropertyHandlerOffset) ACCESSORS(FunctionTemplateInfo |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset | v8::internal::ACCESSORS (FunctionTemplateInfo, instance_template, Object, kInstanceTemplateOffset) ACCESSORS(FunctionTemplateInfo |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset | v8::internal::ACCESSORS (FunctionTemplateInfo, access_check_info, Object, kAccessCheckInfoOffset) ACCESSORS(ObjectTemplateInfo |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset kInternalFieldCountOffset | v8::internal::ACCESSORS_TO_SMI (AllocationSite, pretenure_create_count, kPretenureCreateCountOffset) ACCESSORS(AllocationSite |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset kInternalFieldCountOffset kDependentCodeOffset | v8::internal::ACCESSORS_TO_SMI (Script, eval_from_instructions_offset, kEvalFrominstructionsOffsetOffset) Script |
v8::internal::ACCESSORS (SharedFunctionInfo, optimized_code_map, Object, kOptimizedCodeMapOffset) ACCESSORS(SharedFunctionInfo | |
kFeedbackVectorOffset | v8::internal::ACCESSORS (SharedFunctionInfo, instance_class_name, Object, kInstanceClassNameOffset) BOOL_ACCESSORS(FunctionTemplateInfo |
kFeedbackVectorOffset kHiddenPrototypeBit | v8::internal::BOOL_ACCESSORS (FunctionTemplateInfo, flag, needs_access_check, kNeedsAccessCheckBit) BOOL_ACCESSORS(FunctionTemplateInfo |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit | v8::internal::BOOL_ACCESSORS (FunctionTemplateInfo, flag, remove_prototype, kRemovePrototypeBit) BOOL_ACCESSORS(FunctionTemplateInfo |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit | v8::internal::BOOL_ACCESSORS (SharedFunctionInfo, start_position_and_type, is_expression, kIsExpressionBit) BOOL_ACCESSORS(SharedFunctionInfo |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit kIsTopLevelBit | v8::internal::BOOL_ACCESSORS (SharedFunctionInfo, compiler_hints, allows_lazy_compilation, kAllowLazyCompilation) BOOL_ACCESSORS(SharedFunctionInfo |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit kIsTopLevelBit kAllowLazyCompilationWithoutContext | v8::internal::BOOL_ACCESSORS (SharedFunctionInfo, compiler_hints, uses_arguments, kUsesArguments) BOOL_ACCESSORS(SharedFunctionInfo |
v8::internal::PSEUDO_SMI_ACCESSORS_HI (SharedFunctionInfo, formal_parameter_count, kFormalParameterCountOffset) PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo | |
kExpectedNofPropertiesOffset | v8::internal::PSEUDO_SMI_ACCESSORS_HI (SharedFunctionInfo, start_position_and_type, kStartPositionAndTypeOffset) PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo |
kExpectedNofPropertiesOffset kFunctionTokenPositionOffset | v8::internal::PSEUDO_SMI_ACCESSORS_HI (SharedFunctionInfo, compiler_hints, kCompilerHintsOffset) PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo |
kExpectedNofPropertiesOffset kFunctionTokenPositionOffset kOptCountAndBailoutReasonOffset | v8::internal::PSEUDO_SMI_ACCESSORS_LO (SharedFunctionInfo, ast_node_count, kAstNodeCountOffset) PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo |
kExpectedNofPropertiesOffset kFunctionTokenPositionOffset kOptCountAndBailoutReasonOffset kProfilerTicksOffset | v8::internal::BOOL_GETTER (SharedFunctionInfo, compiler_hints, optimization_disabled, kOptimizationDisabled) void SharedFunctionInfo |
v8::internal::BOOL_ACCESSORS (SharedFunctionInfo, compiler_hints, inline_builtin, kInlineBuiltin) BOOL_ACCESSORS(SharedFunctionInfo | |
kNameShouldPrintAsAnonymous | v8::internal::BOOL_ACCESSORS (SharedFunctionInfo, compiler_hints, is_concise_method, kIsConciseMethod) bool Script |
v8::internal::ACCESSORS (JSFunction, prototype_or_initial_map, Object, kPrototypeOrInitialMapOffset) Map *JSFunction | |
Variables | |
v8::internal::serialized_data | |
v8::internal::ByteArray | |
kSerializedDataOffset | v8::internal::prototype_template |
kSerializedDataOffset | v8::internal::Object |
kSerializedDataOffset kPrototypeTemplateOffset | v8::internal::indexed_property_handler |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset | v8::internal::instance_call_handler |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset | v8::internal::internal_field_count |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset kInternalFieldCountOffset | v8::internal::dependent_code |
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset kInternalFieldCountOffset | v8::internal::DependentCode |
v8::internal::feedback_vector | |
v8::internal::TypeFeedbackVector | |
kFeedbackVectorOffset | v8::internal::flag |
kFeedbackVectorOffset | v8::internal::hidden_prototype |
kFeedbackVectorOffset kHiddenPrototypeBit | v8::internal::read_only_prototype |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit | v8::internal::do_not_cache |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit | v8::internal::start_position_and_type |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit | v8::internal::is_toplevel |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit kIsTopLevelBit | v8::internal::compiler_hints |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit kIsTopLevelBit | v8::internal::allows_lazy_compilation_without_context |
kFeedbackVectorOffset kHiddenPrototypeBit kReadOnlyPrototypeBit kDoNotCacheBit kIsTopLevelBit kAllowLazyCompilationWithoutContext | v8::internal::has_duplicate_parameters |
v8::internal::expected_nof_properties | |
kExpectedNofPropertiesOffset | v8::internal::function_token_position |
kExpectedNofPropertiesOffset kFunctionTokenPositionOffset | v8::internal::opt_count_and_bailout_reason |
kExpectedNofPropertiesOffset kFunctionTokenPositionOffset kOptCountAndBailoutReasonOffset | v8::internal::profiler_ticks |
v8::internal::name_should_print_as_anonymous | |
#define ACCESSORS | ( | holder, | |
name, | |||
type, | |||
offset | |||
) |
Definition at line 82 of file objects-inl.h.
#define ACCESSORS_TO_SMI | ( | holder, | |
name, | |||
offset | |||
) |
Definition at line 91 of file objects-inl.h.
#define ACQUIRE_READ_FIELD | ( | p, | |
offset | |||
) |
Definition at line 1182 of file objects-inl.h.
#define BOOL_ACCESSORS | ( | holder, | |
field, | |||
name, | |||
offset | |||
) |
Definition at line 132 of file objects-inl.h.
#define BOOL_GETTER | ( | holder, | |
field, | |||
name, | |||
offset | |||
) |
Definition at line 126 of file objects-inl.h.
#define CAST_ACCESSOR | ( | type | ) |
Definition at line 66 of file objects-inl.h.
#define CONDITIONAL_WRITE_BARRIER | ( | heap, | |
object, | |||
offset, | |||
value, | |||
mode | |||
) |
Definition at line 1210 of file objects-inl.h.
#define EXTERNAL_ELEMENTS_CHECK | ( | Type, | |
type, | |||
TYPE, | |||
ctype, | |||
size | |||
) |
Definition at line 6398 of file objects-inl.h.
#define FIELD_ADDR | ( | p, | |
offset | |||
) | (reinterpret_cast<byte*>(p) + offset - kHeapObjectTag) |
Definition at line 1173 of file objects-inl.h.
#define FIELD_ADDR_CONST | ( | p, | |
offset | |||
) | (reinterpret_cast<const byte*>(p) + offset - kHeapObjectTag) |
Definition at line 1176 of file objects-inl.h.
#define FIXED_TYPED_ELEMENTS_CHECK | ( | Type, | |
type, | |||
TYPE, | |||
ctype, | |||
size | |||
) |
Definition at line 6419 of file objects-inl.h.
#define INT_ACCESSORS | ( | holder, | |
name, | |||
offset | |||
) |
Definition at line 77 of file objects-inl.h.
#define MAKE_STRUCT_CAST | ( | NAME, | |
Name, | |||
name | |||
) | CAST_ACCESSOR(Name) |
Definition at line 3265 of file objects-inl.h.
#define MAKE_STRUCT_PREDICATE | ( | NAME, | |
Name, | |||
name | |||
) |
Definition at line 1013 of file objects-inl.h.
#define NOBARRIER_READ_BYTE_FIELD | ( | p, | |
offset | |||
) |
Definition at line 1299 of file objects-inl.h.
#define NOBARRIER_READ_FIELD | ( | p, | |
offset | |||
) |
Definition at line 1186 of file objects-inl.h.
#define NOBARRIER_SMI_ACCESSORS | ( | holder, | |
name, | |||
offset | |||
) |
Definition at line 117 of file objects-inl.h.
#define NOBARRIER_WRITE_BYTE_FIELD | ( | p, | |
offset, | |||
value | |||
) |
Definition at line 1306 of file objects-inl.h.
#define NOBARRIER_WRITE_FIELD | ( | p, | |
offset, | |||
value | |||
) |
Definition at line 1198 of file objects-inl.h.
#define ORDERED_HASH_TABLE_ITERATOR_ACCESSORS | ( | name, | |
type, | |||
offset | |||
) |
Definition at line 6032 of file objects-inl.h.
#define PSEUDO_SMI_ACCESSORS_HI | ( | holder, | |
name, | |||
offset | |||
) |
Definition at line 5492 of file objects-inl.h.
#define PSEUDO_SMI_ACCESSORS_LO | ( | holder, | |
name, | |||
offset | |||
) |
Definition at line 5475 of file objects-inl.h.
#define READ_BYTE_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const byte*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1296 of file objects-inl.h.
#define READ_DOUBLE_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const double*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1220 of file objects-inl.h.
#define READ_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<Object* const*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1179 of file objects-inl.h.
#define READ_INT32_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const int32_t*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1278 of file objects-inl.h.
#define READ_INT64_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const int64_t*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1284 of file objects-inl.h.
#define READ_INT_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const int*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1260 of file objects-inl.h.
#define READ_INTPTR_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const intptr_t*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1266 of file objects-inl.h.
#define READ_SHORT_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const uint16_t*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1290 of file objects-inl.h.
#define READ_UINT32_FIELD | ( | p, | |
offset | |||
) | (*reinterpret_cast<const uint32_t*>(FIELD_ADDR_CONST(p, offset))) |
Definition at line 1272 of file objects-inl.h.
#define RELEASE_WRITE_FIELD | ( | p, | |
offset, | |||
value | |||
) |
Definition at line 1193 of file objects-inl.h.
#define SMI_ACCESSORS | ( | holder, | |
name, | |||
offset | |||
) |
Definition at line 99 of file objects-inl.h.
#define SYNCHRONIZED_SMI_ACCESSORS | ( | holder, | |
name, | |||
offset | |||
) |
Definition at line 108 of file objects-inl.h.
#define TYPE_CHECKER | ( | type, | |
instancetype | |||
) |
Definition at line 59 of file objects-inl.h.
#define TYPED_ARRAY_CASE | ( | Type, | |
type, | |||
TYPE, | |||
ctype, | |||
size | |||
) |
#define TYPED_ARRAY_TYPE_CHECKER | ( | Type, | |
type, | |||
TYPE, | |||
ctype, | |||
size | |||
) |
Definition at line 645 of file objects-inl.h.
#define WRITE_BARRIER | ( | heap, | |
object, | |||
offset, | |||
value | |||
) |
Definition at line 1203 of file objects-inl.h.
#define WRITE_BYTE_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1303 of file objects-inl.h.
#define WRITE_DOUBLE_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<double*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1240 of file objects-inl.h.
#define WRITE_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<Object**>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1190 of file objects-inl.h.
#define WRITE_INT32_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<int32_t*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1281 of file objects-inl.h.
#define WRITE_INT64_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<int64_t*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1287 of file objects-inl.h.
#define WRITE_INT_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<int*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1263 of file objects-inl.h.
#define WRITE_INTPTR_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<intptr_t*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1269 of file objects-inl.h.
#define WRITE_SHORT_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<uint16_t*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1293 of file objects-inl.h.
#define WRITE_UINT32_FIELD | ( | p, | |
offset, | |||
value | |||
) | (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset)) = value) |
Definition at line 1275 of file objects-inl.h.