50 int n = impl->
blocks()->length();
66 "v8::HandleScope::CreateHandle()",
67 "Cannot create a handle without a HandleScope")) {
73 if (!impl->blocks()->is_empty()) {
75 if (current->
limit != limit) {
76 current->
limit = limit;
83 if (result == current->
limit) {
85 result = impl->GetSpareOrNewBlock();
88 impl->blocks()->Add(result);
102 #ifdef ENABLE_HANDLE_ZAPPING
103 void HandleScope::ZapRange(
Object** start,
Object** end) {
105 for (
Object** p = start; p != end; p++) {
130 content->AddKeysFromJSArray(*array),
FixedArray);
145 constructor->GetIsolate(),
146 constructor->GetHeap()->ReinitializeJSGlobalProxy(*constructor, *global),
171 Isolate* isolate =
object->GetIsolate();
181 Isolate* isolate =
object->GetIsolate();
190 Isolate* isolate = obj->GetIsolate();
198 Isolate* isolate = obj->GetIsolate();
227 static void ClearWrapperCache(
231 Foreign* foreign =
Script::cast(wrapper->value())->wrapper();
233 foreign->set_foreign_address(0);
236 isolate->counters()->script_wrappers()->Decrement();
241 if (script->wrapper()->foreign_address() !=
NULL) {
244 *
reinterpret_cast<JSValue**
>(script->wrapper()->foreign_address()));
246 Isolate* isolate = script->GetIsolate();
248 isolate->
counters()->script_wrappers()->Increment();
256 if (script->wrapper()->foreign_address() !=
NULL) {
258 *
reinterpret_cast<JSValue**
>(script->wrapper()->foreign_address()));
261 result->set_value(*script);
268 reinterpret_cast<void*
>(handle.location()),
270 script->wrapper()->set_foreign_address(
271 reinterpret_cast<Address>(handle.location()));
279 if (!script->line_ends()->IsUndefined())
return;
281 Isolate* isolate = script->GetIsolate();
283 if (!script->source()->IsString()) {
284 ASSERT(script->source()->IsUndefined());
286 script->set_line_ends(*empty);
287 ASSERT(script->line_ends()->IsFixedArray());
295 if (*array != isolate->
heap()->empty_fixed_array()) {
296 array->set_map(isolate->
heap()->fixed_cow_array_map());
299 script->set_line_ends(*array);
300 ASSERT(script->line_ends()->IsFixedArray());
304 template <
typename SourceChar>
305 static void CalculateLineEnds(
Isolate* isolate,
306 List<int>* line_ends,
307 Vector<const SourceChar> src,
308 bool with_last_line) {
309 const int src_len = src.length();
314 while (position != -1 && position < src_len) {
315 position = search.Search(src, position);
316 if (position != -1) {
317 line_ends->Add(position);
319 }
else if (with_last_line) {
321 line_ends->Add(src_len);
329 bool with_last_line) {
333 int line_count_estimate = src->length() >> 4;
334 List<int> line_ends(line_count_estimate);
335 Isolate* isolate = src->GetIsolate();
342 CalculateLineEnds(isolate,
347 CalculateLineEnds(isolate,
353 int line_count = line_ends.length();
355 for (
int i = 0; i < line_count; i++) {
367 const int line_ends_len = line_ends_array->
length();
369 if (!line_ends_len)
return -1;
371 if ((
Smi::cast(line_ends_array->
get(0)))->value() >= code_pos) {
372 return script->line_offset()->value();
376 int right = line_ends_len;
377 while (
int half = (right - left) / 2) {
378 if ((
Smi::cast(line_ends_array->
get(left + half)))->value() > code_pos) {
384 return right + script->line_offset()->value();
391 if (line_number == -1)
return -1;
395 line_number = line_number - script->line_offset()->value();
396 if (line_number == 0)
return code_pos + script->column_offset()->value();
397 int prev_line_end_pos =
398 Smi::cast(line_ends_array->
get(line_number - 1))->value();
399 return code_pos - (prev_line_end_pos + 1);
405 if (!script->line_ends()->IsUndefined()) {
409 if (!script->source()->IsString()) {
414 int len = source->
length();
415 for (
int pos = 0; pos < len; pos++) {
416 if (pos == code_pos) {
419 if (source->Get(pos) ==
'\n') {
431 Isolate* isolate = receiver->GetIsolate();
434 args(isolate, interceptor->data(), *receiver, *object);
436 if (!interceptor->enumerator()->IsUndefined()) {
438 v8::ToCData<v8::NamedPropertyEnumeratorCallback>(
439 interceptor->enumerator());
440 LOG(isolate, ApiObjectAccess(
"interceptor-named-enum", *
object));
441 result = args.Call(enum_fun);
443 #if ENABLE_EXTRA_CHECKS
454 Isolate* isolate = receiver->GetIsolate();
457 args(isolate, interceptor->data(), *receiver, *object);
459 if (!interceptor->enumerator()->IsUndefined()) {
461 v8::ToCData<v8::IndexedPropertyEnumeratorCallback>(
462 interceptor->enumerator());
463 LOG(isolate, ApiObjectAccess(
"interceptor-indexed-enum", *
object));
464 result = args.Call(enum_fun);
465 #if ENABLE_EXTRA_CHECKS
475 Isolate* isolate = script->GetIsolate();
482 name_or_source_url_key);
483 ASSERT(property->IsJSFunction());
485 bool caught_exception;
487 NULL, &caught_exception);
488 if (caught_exception) {
489 result = isolate->
factory()->undefined_value();
496 int len = array->
length();
497 for (
int i = 0; i < len; i++) {
508 USE(ContainsOnlyValidKeys);
509 Isolate* isolate =
object->GetIsolate();
520 *p != isolate->
heap()->null_value();
522 if (p->IsJSProxy()) {
526 isolate->proxy_enumerate(),
531 if (*threw)
return content;
539 if (current->IsAccessCheckNeeded() &&
541 isolate->
factory()->undefined_value(),
554 current->GetEnumElementKeys(*element_keys);
556 ASSERT(ContainsOnlyValidKeys(content));
559 if (current->HasIndexedInterceptor()) {
564 ASSERT(ContainsOnlyValidKeys(content));
577 bool cache_enum_keys =
578 ((current->map()->constructor() != *arguments_function) &&
579 !current->IsJSValue() &&
580 !current->IsAccessCheckNeeded() &&
581 !current->HasNamedInterceptor() &&
582 !current->HasIndexedInterceptor());
586 ASSERT(ContainsOnlyValidKeys(content));
589 if (current->HasNamedInterceptor()) {
594 ASSERT(ContainsOnlyValidKeys(content));
607 Isolate* isolate =
object->GetIsolate();
608 isolate->
counters()->for_in()->Increment();
616 ASSERT(array->length() >= length);
617 if (array->length() == length)
return array;
620 array->GetIsolate()->factory()->NewFixedArray(length);
621 for (
int i = 0; i < length; ++i) new_array->set(i, array->get(i));
628 Isolate* isolate =
object->GetIsolate();
629 if (object->HasFastProperties()) {
630 if (object->map()->instance_descriptors()->HasEnumCache()) {
631 int own_property_count =
object->map()->EnumLength();
637 if (own_property_count == kInvalidEnumCacheSentinel) {
638 own_property_count =
object->map()->NumberOfDescribedProperties(
641 if (cache_result)
object->map()->SetEnumLength(own_property_count);
651 if (own_property_count <= keys->length()) {
652 isolate->
counters()->enum_cache_hits()->Increment();
659 if (
map->instance_descriptors()->IsEmpty()) {
660 isolate->
counters()->enum_cache_hits()->Increment();
661 if (cache_result)
map->SetEnumLength(0);
662 return isolate->
factory()->empty_fixed_array();
665 isolate->
counters()->enum_cache_misses()->Increment();
674 int real_size =
map->NumberOfOwnDescriptors();
678 for (
int i = 0; i < descs->number_of_descriptors(); i++) {
679 PropertyDetails details = descs->GetDetails(i);
680 Object* key = descs->GetKey(i);
681 if (!(details.IsDontEnum() || key->IsSymbol())) {
682 if (i < real_size) ++enum_size;
683 storage->set(index, key);
685 if (details.type() !=
FIELD) {
688 int field_index = descs->GetFieldIndex(i);
689 if (field_index >=
map->inobject_properties()) {
690 field_index = -(field_index -
map->inobject_properties() + 1);
698 ASSERT(index == storage->length());
709 object->map()->SetEnumLength(enum_size);
715 int length = dictionary->NumberOfEnumElements();
720 dictionary->CopyEnumKeysTo(*storage);
727 : impl_(isolate->handle_scope_implementer()) {
728 impl_->BeginDeferredScope();
733 impl_->
blocks()->Add(new_next);
736 prev_level_ = data->
level;
739 prev_limit_ = data->
limit;
740 prev_next_ = data->
next;
741 data->
next = new_next;
742 data->
limit = new_limit;
748 ASSERT(handles_detached_);
756 data->
next = prev_next_;
757 data->
limit = prev_limit_;
759 handles_detached_ =
true;
enable upcoming ES6 features enable harmony block scoping enable harmony enable harmony proxies enable harmony generators enable harmony numeric enable harmony string enable harmony math functions harmony_scoping harmony_symbols harmony_collections harmony_iteration harmony_strings harmony_scoping harmony_maths tracks arrays with only smi values Optimize object Array DOM strings and string pretenure call new trace pretenuring decisions of HAllocate instructions track fields with only smi values track fields with heap values track_fields track_fields Enables optimizations which favor memory size over execution speed use string slices optimization filter maximum number of GVN fix point iterations use function inlining use allocation folding eliminate write barriers targeting allocations in optimized code maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining crankshaft harvests type feedback from stub cache trace check elimination phase hydrogen tracing filter NULL
void SetEnumCache(FixedArray *bridge_storage, FixedArray *new_cache, Object *new_index_cache)
static V8_INLINE Local< T > New(Isolate *isolate, Handle< T > that)
static void Destroy(Object **location)
void FlattenString(Handle< String > string)
internal::Object ** GetSpareOrNewBlock()
Handle< JSObject > NewJSObject(Handle< JSFunction > constructor, PretenureFlag pretenure=NOT_TENURED)
enable upcoming ES6 features enable harmony block scoping enable harmony enable harmony proxies enable harmony generators enable harmony numeric enable harmony string enable harmony math functions harmony_scoping harmony_symbols harmony_collections harmony_iteration harmony_strings harmony_scoping harmony_maths tracks arrays with only smi values Optimize object Array DOM strings and string pretenure call new trace pretenuring decisions of HAllocate instructions track fields with only smi values track fields with heap values track_fields track_fields Enables optimizations which favor memory size over execution speed use string slices optimization filter maximum number of GVN fix point iterations use function inlining use allocation folding eliminate write barriers targeting allocations in optimized code maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining crankshaft harvests type feedback from stub cache trace check elimination phase hydrogen tracing filter trace hydrogen to given file name trace inlining decisions trace store elimination trace all use positions trace global value numbering trace hydrogen escape analysis trace the tracking of allocation sites trace map generalization environment for every instruction deoptimize every n garbage collections put a break point before deoptimizing deoptimize uncommon cases use on stack replacement trace array bounds check elimination perform array index dehoisting use load elimination use store elimination use constant folding eliminate unreachable code number of stress runs when picking a function to watch for shared function not JSFunction itself flushes the cache of optimized code for closures on every GC functions with arguments object maximum number of escape analysis fix point iterations allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms concurrent on stack replacement do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes number of stack frames inspected by the profiler percentage of ICs that must have type info to allow optimization extra verbose compilation tracing generate extra emit comments in code disassembly enable use of SSE3 instructions if available enable use of CMOV instruction if available enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long expose natives in global object expose freeBuffer extension expose gc extension under the specified name expose externalize string extension number of stack frames to capture disable builtin natives files print name of functions for which code is generated use random jit cookie to mask large constants trace lazy optimization use adaptive optimizations always try to OSR functions trace optimize function deoptimization minimum length for automatic enable preparsing maximum number of optimization attempts before giving up cache prototype transitions trace debugging JSON request response trace out of bounds accesses to external arrays trace_js_array_abuse automatically set the debug break flag when debugger commands are in the queue abort by crashing maximum length of function source code printed in a stack trace max size of the new max size of the old max size of executable always perform global GCs print one trace line following each garbage collection do not print trace line after scavenger collection print statistics of the maximum memory committed for the heap in only print modified registers Don t break for ASM_UNIMPLEMENTED_BREAK macros print stack trace when an illegal exception is thrown randomize hashes to avoid predictable hash Fixed seed to use to hash property keys(0 means random)" "(with snapshots this option cannot override the baked-in seed)") DEFINE_bool(profile_deserialization
static Handle< Object > TryCall(Handle< JSFunction > func, Handle< Object > receiver, int argc, Handle< Object > argv[], bool *caught_exception)
enable upcoming ES6 features enable harmony block scoping enable harmony enable harmony proxies enable harmony generators enable harmony numeric enable harmony string enable harmony math functions harmony_scoping harmony_symbols harmony_collections harmony_iteration harmony_strings harmony_scoping harmony_maths tracks arrays with only smi values Optimize object Array DOM strings and string pretenure call new trace pretenuring decisions of HAllocate instructions track fields with only smi values track fields with heap values track_fields track_fields Enables optimizations which favor memory size over execution speed use string slices optimization filter maximum number of GVN fix point iterations use function inlining use allocation folding eliminate write barriers targeting allocations in optimized code maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining crankshaft harvests type feedback from stub cache trace check elimination phase hydrogen tracing filter trace hydrogen to given file name trace inlining decisions trace store elimination trace all use positions trace global value numbering trace hydrogen escape analysis trace the tracking of allocation sites trace map generalization environment for every instruction deoptimize every n garbage collections put a break point before deoptimizing deoptimize uncommon cases use on stack replacement trace array bounds check elimination perform array index dehoisting use load elimination use store elimination use constant folding eliminate unreachable code number of stress runs when picking a function to watch for shared function not JSFunction itself flushes the cache of optimized code for closures on every GC functions with arguments object maximum number of escape analysis fix point iterations allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms concurrent on stack replacement do not emit check maps for constant values that have a leaf map
static String * cast(Object *obj)
Handle< FixedArray > AddKeysFromJSArray(Handle< FixedArray > content, Handle< JSArray > array)
HandleScopeImplementer * handle_scope_implementer()
void ReportFailedAccessCheckWrapper(Handle< JSObject > receiver, v8::AccessType type)
static Smi * FromInt(int value)
v8::Handle< v8::Array > GetKeysForIndexedInterceptor(Handle< JSReceiver > receiver, Handle< JSObject > object)
#define LOG(isolate, Call)
static Handle< T > cast(Handle< S > that)
internal::Object ** limit
static const int kEnumCacheBridgeLength
MaybeObject * AddWeakObjectToCodeDependency(Object *obj, DependentCode *dep)
kSerializedDataOffset Object
Handle< JSArray > NewJSArrayWithElements(Handle< FixedArrayBase > elements, ElementsKind elements_kind, int length, PretenureFlag pretenure=NOT_TENURED)
Handle< Object > DeleteProperty(Handle< JSObject > object, Handle< Object > key)
void DeleteExtensions(internal::Object **prev_limit)
HandleScopeData * handle_scope_data()
Handle< FixedArray > UnionOfKeys(Handle< FixedArray > first, Handle< FixedArray > second)
void InitScriptLineEnds(Handle< Script > script)
#define ASSERT(condition)
Handle< JSArray > GetKeysFor(Handle< JSReceiver > object, bool *threw)
static Script * cast(Object *obj)
#define CALL_HEAP_FUNCTION_VOID(ISOLATE, FUNCTION_CALL)
int GetScriptColumnNumber(Handle< Script > script, int code_pos)
Handle< Object > GetProperty(Handle< JSReceiver > obj, const char *name)
void(* IndexedPropertyEnumeratorCallback)(const PropertyCallbackInfo< Array > &info)
static MUST_USE_RESULT MaybeObject * HasObjectProperty(Isolate *isolate, Handle< JSReceiver > object, Handle< Object > key)
bool MayNamedAccessWrapper(Handle< JSObject > receiver, Handle< Object > key, v8::AccessType type)
static Smi * cast(Object *object)
Handle< String > FlattenGetString(Handle< String > string)
Handle< Object > ForceDeleteProperty(Handle< JSObject > object, Handle< Object > key)
Handle< Object > HasProperty(Handle< JSReceiver > obj, Handle< Object > key)
DeferredHandleScope(Isolate *isolate)
void EnsureWeakObjectToCodeTable()
static Handle< DependentCode > Insert(Handle< DependentCode > entries, DependencyGroup group, Handle< Object > object)
static MUST_USE_RESULT MaybeObject * DeleteObjectProperty(Isolate *isolate, Handle< JSReceiver > object, Handle< Object > key, JSReceiver::DeleteMode mode)
Handle< FixedArray > ReduceFixedArrayTo(Handle< FixedArray > array, int length)
DeferredHandles * Detach()
V8_INLINE Isolate * GetIsolate() const
static int NumberOfHandles(Isolate *isolate)
Context * native_context()
Handle< Object > Create(Object *value)
#define CALL_HEAP_FUNCTION(ISOLATE, FUNCTION_CALL, TYPE)
static Handle< Object > ForceSetObjectProperty(Isolate *isolate, Handle< JSObject > object, Handle< Object > key, Handle< Object > value, PropertyAttributes attr)
GlobalHandles * global_handles()
Handle< JSValue > GetScriptWrapper(Handle< Script > script)
enable upcoming ES6 features enable harmony block scoping enable harmony enable harmony proxies enable harmony generators enable harmony numeric enable harmony string enable harmony math functions harmony_scoping harmony_symbols harmony_collections harmony_iteration harmony_strings harmony_scoping harmony_maths tracks arrays with only smi values Optimize object Array DOM strings and string pretenure call new trace pretenuring decisions of HAllocate instructions track fields with only smi values track fields with heap values track_fields track_fields Enables optimizations which favor memory size over execution speed use string slices optimization filter maximum number of GVN fix point iterations use function inlining use allocation folding eliminate write barriers targeting allocations in optimized code maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining crankshaft harvests type feedback from stub cache trace check elimination phase hydrogen tracing filter trace hydrogen to given file name trace inlining decisions trace store elimination trace all use positions trace global value numbering trace hydrogen escape analysis trace the tracking of allocation sites trace map generalization environment for every instruction deoptimize every n garbage collections put a break point before deoptimizing deoptimize uncommon cases use on stack replacement trace array bounds check elimination perform array index dehoisting use load elimination use store elimination use constant folding eliminate unreachable code number of stress runs when picking a function to watch for shared function not JSFunction itself flushes the cache of optimized code for closures on every GC functions with arguments object maximum number of escape analysis fix point iterations allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms concurrent on stack replacement do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes number of stack frames inspected by the profiler percentage of ICs that must have type info to allow optimization extra verbose compilation tracing generate extra code(assertions) for debugging") DEFINE_bool(code_comments
Vector< const uc16 > ToUC16Vector()
Handle< FixedArray > NewFixedArray(int size, PretenureFlag pretenure=NOT_TENURED)
int GetScriptLineNumberSafe(Handle< Script > script, int code_pos)
Handle< FixedArray > GetKeysInFixedArrayFor(Handle< JSReceiver > object, KeyCollectionType type, bool *threw)
#define STATIC_ASCII_VECTOR(x)
static v8::internal::Handle< To > OpenHandle(v8::Local< From > handle)
V8_INLINE P * GetParameter() const
static Address current_limit_address(Isolate *isolate)
void(* NamedPropertyEnumeratorCallback)(const PropertyCallbackInfo< Array > &info)
V8_INLINE bool IsString() const
List< internal::Object ** > * blocks()
void AddWeakObjectToCodeDependency(Heap *heap, Handle< Object > object, Handle< Code > code)
int GetScriptLineNumber(Handle< Script > script, int code_pos)
Failure * PromoteScheduledException()
Handle< String > InternalizeOneByteString(Vector< const uint8_t > str)
v8::Handle< v8::Array > GetKeysForNamedInterceptor(Handle< JSReceiver > receiver, Handle< JSObject > object)
static Handle< Object > Call(Isolate *isolate, Handle< Object > callable, Handle< Object > receiver, int argc, Handle< Object > argv[], bool *pending_exception, bool convert_receiver=false)
Handle< T > handle(T *t, Isolate *isolate)
V8_INLINE bool IsEmpty() const
Handle< String > LookupSingleCharacterStringFromCode(Isolate *isolate, uint32_t index)
static Object * cast(Object *value)
static void MakeWeak(Object **location, void *parameter, WeakCallback weak_callback)
Handle< String > InternalizeUtf8String(Vector< const char > str)
static JSValue * cast(Object *obj)
Handle< Object > GetScriptNameOrSourceURL(Handle< Script > script)
Handle< JSGlobalProxy > ReinitializeJSGlobalProxy(Handle< JSFunction > constructor, Handle< JSGlobalProxy > global)
const int kHandleBlockSize
static MUST_USE_RESULT MaybeObject * GetObjectProperty(Isolate *isolate, Handle< Object > object, Handle< Object > key)
#define ASSERT_EQ(v1, v2)
MUST_USE_RESULT MaybeObject * LookupSingleCharacterStringFromCode(uint16_t code)
static JSProxy * cast(Object *obj)
Isolate * isolate() const
static FixedArray * cast(Object *obj)
FixedArray * GetEnumCache()
static bool ApiCheck(bool condition, const char *location, const char *message)
bool has_scheduled_exception()
Handle< Object > ForceSetProperty(Handle< JSObject > object, Handle< Object > key, Handle< Object > value, PropertyAttributes attributes)
Handle< FixedArray > GetEnumPropertyKeys(Handle< JSObject > object, bool cache_result)
Vector< const uint8_t > ToOneByteVector()
enable upcoming ES6 features enable harmony block scoping enable harmony enable harmony proxies enable harmony generators enable harmony numeric enable harmony string enable harmony math functions harmony_scoping harmony_symbols harmony_collections harmony_iteration harmony_strings harmony_scoping harmony_maths tracks arrays with only smi values Optimize object Array DOM strings and string pretenure call new trace pretenuring decisions of HAllocate instructions track fields with only smi values track fields with heap values track_fields track_fields Enables optimizations which favor memory size over execution speed use string slices optimization filter maximum number of GVN fix point iterations use function inlining use allocation folding eliminate write barriers targeting allocations in optimized code maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining crankshaft harvests type feedback from stub cache trace check elimination phase hydrogen tracing filter trace hydrogen to given file name trace inlining decisions trace store elimination trace all use positions trace global value numbering trace hydrogen escape analysis trace the tracking of allocation sites trace map generalization environment for every instruction deoptimize every n garbage collections put a break point before deoptimizing deoptimize uncommon cases use on stack replacement trace array bounds check elimination perform array index dehoisting use load elimination use store elimination use constant folding eliminate unreachable code number of stress runs when picking a function to watch for shared function not JSFunction itself flushes the cache of optimized code for closures on every GC functions with arguments object maximum number of escape analysis fix point iterations allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms concurrent on stack replacement do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes number of stack frames inspected by the profiler percentage of ICs that must have type info to allow optimization extra verbose compilation tracing generate extra emit comments in code disassembly enable use of SSE3 instructions if available enable use of CMOV instruction if available enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long expose natives in global object expose freeBuffer extension expose gc extension under the specified name expose externalize string extension number of stack frames to capture disable builtin natives files print name of functions for which code is generated use random jit cookie to mask large constants trace lazy optimization use adaptive optimizations always try to OSR functions trace optimize function deoptimization minimum length for automatic enable preparsing maximum number of optimization attempts before giving up cache prototype transitions trace debugging JSON request response trace out of bounds accesses to external arrays trace_js_array_abuse automatically set the debug break flag when debugger commands are in the queue abort by crashing maximum length of function source code printed in a stack trace max size of the new max size of the old max size of executable always perform global GCs print one trace line following each garbage collection do not print trace line after scavenger collection print statistics of the maximum memory committed for the heap in name
static Address current_next_address(Isolate *isolate)
static JSObject * cast(Object *obj)
static Address current_level_address(Isolate *isolate)
const Address kHandleZapValue
static void DeleteExtensions(Isolate *isolate)
DependentCode * LookupWeakObjectToCodeDependency(Object *obj)
static JSFunction * cast(Object *obj)