48 isolate()->heap()->AllocateFixedArray(size, pretenure),
58 isolate()->heap()->AllocateFixedArrayWithHoles(size, pretenure),
68 isolate()->heap()->AllocateUninitializedFixedDoubleArray(size, pretenure),
74 ASSERT(0 <= at_least_space_for);
82 int at_least_space_for) {
83 ASSERT(0 <= at_least_space_for);
91 int at_least_space_for) {
92 ASSERT(0 <= at_least_space_for);
100 ASSERT(0 <= at_least_space_for);
108 ASSERT(0 <= at_least_space_for);
117 ASSERT(0 <= number_of_descriptors);
125 int deopt_entry_count,
127 ASSERT(deopt_entry_count > 0);
136 int deopt_entry_count,
138 ASSERT(deopt_entry_count > 0);
148 isolate()->heap()->AllocateAccessorPair(),
155 isolate()->heap()->AllocateTypeFeedbackInfo(),
203 isolate()->heap()->AllocateStringFromAscii(
string, pretenure),
211 isolate()->heap()->AllocateStringFromUtf8(
string, pretenure),
220 isolate()->heap()->AllocateStringFromTwoByte(
string, pretenure),
229 isolate()->heap()->AllocateRawAsciiString(length, pretenure),
238 isolate()->heap()->AllocateRawTwoByteString(length, pretenure),
246 isolate()->heap()->AllocateConsString(*first, *second),
255 str->SubString(begin, end),
263 ASSERT(begin > 0 || end < str->length());
265 isolate()->heap()->AllocateSubString(*str, begin, end),
274 isolate()->heap()->AllocateExternalStringFromAscii(resource),
283 isolate()->heap()->AllocateExternalStringFromTwoByte(resource),
291 isolate()->heap()->AllocateNativeContext(),
300 isolate()->heap()->AllocateGlobalContext(*
function, *scope_info),
308 isolate()->heap()->AllocateModuleContext(*scope_info),
317 isolate()->heap()->AllocateFunctionContext(length, *
function),
328 isolate()->heap()->AllocateCatchContext(*
function,
341 isolate()->heap()->AllocateWithContext(*
function, *previous, *extension),
351 isolate()->heap()->AllocateBlockContext(*
function,
361 isolate()->heap()->AllocateStruct(type),
378 if (heap->last_script_id()->IsUndefined()) {
383 id =
Smi::cast(heap->last_script_id())->value();
394 script->set_source(*source);
395 script->set_name(heap->undefined_value());
396 script->set_id(heap->last_script_id());
399 script->set_data(heap->undefined_value());
400 script->set_context_data(heap->undefined_value());
403 script->set_compilation_state(
405 script->set_wrapper(*wrapper);
406 script->set_line_ends(heap->undefined_value());
407 script->set_eval_from_shared(heap->undefined_value());
408 script->set_eval_from_instructions_offset(
Smi::FromInt(0));
416 isolate()->heap()->AllocateForeign(addr, pretenure),
430 isolate()->heap()->AllocateByteArray(length, pretenure),
437 void* external_pointer,
442 isolate()->heap()->AllocateExternalArray(length,
454 isolate()->heap()->AllocateJSGlobalPropertyCell(*value),
464 isolate()->heap()->AllocateMap(type, instance_size, elements_kind),
472 isolate()->heap()->AllocateFunctionPrototype(*
function),
479 isolate(), src->CopyWithPreallocatedFieldDescriptors(),
Map);
484 int extra_inobject_properties) {
488 int instance_size_delta = extra_inobject_properties *
kPointerSize;
489 int max_instance_size_delta =
491 if (instance_size_delta > max_instance_size_delta) {
494 instance_size_delta = max_instance_size_delta;
498 int inobject_properties =
499 copy->inobject_properties() + extra_inobject_properties;
500 copy->set_inobject_properties(inobject_properties);
501 copy->set_unused_property_fields(inobject_properties);
502 copy->set_instance_size(copy->instance_size() + instance_size_delta);
518 src->GetElementsTransitionMap(i, elements_kind),
540 isolate()->heap()->AllocateFunction(*function_map,
542 isolate()->heap()->the_hole_value(),
554 function_info->is_classic_mode()
555 ? isolate()->function_map()
556 : isolate()->strict_mode_function_map(),
560 function_info->ResetForNewContext(isolate()->heap()->global_ic_age());
563 result->set_context(*context);
565 int index = function_info->SearchOptimizedCodeMap(context->native_context());
566 if (!function_info->bound() && index < 0) {
567 int number_of_literals = function_info->num_literals();
569 if (number_of_literals > 0) {
574 context->native_context());
576 result->set_literals(*literals);
581 function_info->InstallFromOptimizedCodeMap(*result, index);
587 result->is_compiled() &&
588 !function_info->is_toplevel() &&
589 function_info->allows_lazy_compilation() &&
590 !function_info->optimization_disabled()) {
591 result->MarkForLazyRecompilation();
601 isolate()->heap()->NumberFromDouble(value, pretenure),
Object);
609 isolate()->heap()->NumberFromInt32(value, pretenure),
Object);
617 isolate()->heap()->NumberFromUint32(value, pretenure),
Object);
624 isolate()->heap()->AllocateJSObjectFromMap(
625 isolate()->heap()->neander_map()),
632 return NewError(
"MakeTypeError", type, args);
637 return NewError(
"$TypeError", message);
643 return NewError(
"MakeRangeError", type, args);
648 return NewError(
"$RangeError", message);
653 return NewError(
"MakeSyntaxError", type, args);
658 return NewError(
"$SyntaxError", message);
664 return NewError(
"MakeReferenceError", type, args);
669 return NewError(
"$ReferenceError", message);
677 for (
int i = 0; i < args.length(); i++) {
678 array->set(i, *args[i]);
688 return NewError(
"MakeEvalError", type, args);
694 return NewError(
"MakeError", type, args);
700 const int kBufferSize = 1000;
701 char buffer[kBufferSize];
702 size_t space = kBufferSize;
703 char* p = &buffer[0];
707 space -=
Min(space, strlen(type));
708 p = &buffer[kBufferSize] - space;
710 for (
unsigned i = 0; i <
ARRAY_SIZE(args); i++) {
715 MaybeObject* maybe_arg = args->GetElement(i);
717 const char* arg = *arg_str->ToCString();
720 space -=
Min(space, strlen(arg));
721 p = &buffer[kBufferSize] - space;
728 buffer[kBufferSize - 1] =
'\0';
740 isolate()->js_builtins_object()->GetPropertyNoExceptionThrown(*make_str));
743 if (!fun_obj->IsJSFunction()) {
752 bool caught_exception;
754 isolate()->js_builtins_object(),
772 GetPropertyNoExceptionThrown(*constr)));
777 bool caught_exception;
779 isolate()->js_builtins_object(),
791 bool force_initial_map) {
797 function->shared()->set_code(*code);
798 function->set_code(*code);
800 if (force_initial_map ||
805 initial_map->set_prototype(*prototype);
806 function->set_initial_map(*initial_map);
807 initial_map->set_constructor(*
function);
809 ASSERT(!function->has_initial_map());
810 ASSERT(!function->has_prototype());
822 bool force_initial_map) {
828 function->shared()->set_code(*code);
829 function->set_code(*code);
831 if (force_initial_map ||
837 function->set_initial_map(*initial_map);
838 initial_map->set_constructor(*
function);
847 prototype, constructor_symbol(),
857 function->shared()->set_code(*code);
858 function->set_code(*code);
859 ASSERT(!function->has_initial_map());
860 ASSERT(!function->has_prototype());
868 isolate()->heap()->AllocateScopeInfo(length),
878 isolate()->heap()->CreateCode(
879 desc, flags, self_ref, immovable),
893 isolate()->heap()->
CopyCode(*code, reloc_info),
908 isolate()->heap()->AllocateJSObject(*constructor, pretenure),
JSObject);
916 isolate()->heap()->AllocateJSModule(*context, *scope_info),
JSModule);
923 isolate()->heap()->AllocateGlobalObject(*constructor),
932 isolate()->heap()->AllocateJSObjectFromMap(*map,
NOT_TENURED),
941 isolate()->heap()->AllocateJSArrayAndStorage(
956 isolate()->heap()->AllocateJSArrayWithElements(*elements,
977 array->SetContent(*elements));
984 array->EnsureCanContainHeapObjectElements());
994 array->EnsureCanContainElements(*elements, length, mode));
1002 isolate()->heap()->AllocateJSProxy(*handler, *prototype),
1010 isolate()->heap()->ReinitializeJSReceiver(
1018 isolate()->heap()->ReinitializeJSReceiver(
1032 int number_of_literals,
1036 shared->set_code(*code);
1037 shared->set_scope_info(*scope_info);
1038 int literals_array_size = number_of_literals;
1042 if (number_of_literals > 0) {
1045 shared->set_num_literals(literals_array_size);
1059 isolate()->heap()->AllocateJSMessageObject(*type,
1071 isolate()->heap()->AllocateSharedFunctionInfo(*name),
1093 dictionary->AtNumberPut(key, *value),
1103 dictionary->AtNumberPut(key, *value),
1113 isolate()->heap()->AllocateFunction(*isolate()->function_map(),
1123 fun->set_context(isolate()->context()->native_context());
1133 ? isolate()->function_without_prototype_map()
1134 : isolate()->strict_mode_function_without_prototype_map();
1136 isolate()->heap()->AllocateFunction(
1148 NewFunctionWithoutPrototypeHelper(name, language_mode);
1149 fun->set_context(isolate()->context()->native_context());
1165 #ifdef ENABLE_DEBUGGER_SUPPORT
1185 debug_info->set_shared(*shared);
1186 debug_info->set_original_code(*original_code);
1187 debug_info->set_code(*
code);
1188 debug_info->set_break_points(*break_points);
1191 shared->set_debug_info(*debug_info);
1202 isolate()->heap()->AllocateArgumentsObject(*callee, length),
JSObject);
1211 int internal_field_count = 0;
1212 if (!obj->instance_template()->IsUndefined()) {
1216 internal_field_count =
1217 Smi::cast(instance_template->internal_field_count())->value();
1220 int instance_size =
kPointerSize * internal_field_count;
1222 switch (instance_type) {
1248 if (class_name->IsString()) {
1249 result->shared()->set_instance_class_name(*class_name);
1250 result->shared()->set_name(*class_name);
1256 if (obj->undetectable()) {
1257 map->set_is_undetectable();
1261 if (obj->hidden_prototype()) {
1262 map->set_is_hidden_prototype();
1266 if (obj->needs_access_check()) {
1267 map->set_is_access_check_needed(
true);
1271 if (!obj->named_property_handler()->IsUndefined()) {
1272 map->set_has_named_interceptor();
1274 if (!obj->indexed_property_handler()->IsUndefined()) {
1275 map->set_has_indexed_interceptor();
1279 if (!obj->instance_call_handler()->IsUndefined()) {
1280 map->set_has_instance_call_handler();
1283 result->shared()->set_function_data(*obj);
1284 result->shared()->set_construct_stub(*construct_stub);
1285 result->shared()->DontAdaptArguments();
1288 int max_number_of_additional_properties = 0;
1291 Object* props = info->property_accessors();
1292 if (!props->IsUndefined()) {
1295 max_number_of_additional_properties += props_array.
length();
1297 Object* parent = info->parent_template();
1298 if (parent->IsUndefined())
break;
1306 if (!props->IsUndefined()) {
1310 if (parent->IsUndefined())
break;
1314 ASSERT(result->shared()->IsApiFunction());
1329 { MaybeObject* maybe_result =
1331 if (!maybe_result->ToObject(&result))
return maybe_result;
1338 Handle<MapCache> Factory::AddToMapCache(Handle<Context> context,
1339 Handle<FixedArray> keys,
1342 UpdateMapCacheWith(*context, *keys, *map), MapCache);
1348 if (context->map_cache()->IsUndefined()) {
1351 context->set_map_cache(*new_cache);
1362 AddToMapCache(context, keys, map);
1378 regexp->set_data(*store);
1385 int capture_count) {
1398 regexp->set_data(*store);
1405 bool* pending_exception) {
1409 if (!instance_template->IsUndefined()) {
1414 *pending_exception =
false;
1421 if (name->Equals(h->undefined_symbol()))
return undefined_value();
1422 if (name->Equals(h->nan_symbol()))
return nan_value();
1423 if (name->Equals(h->infinity_symbol()))
return infinity_value();
1430 ? isolate()->
heap()->true_value()
1431 : isolate()->
heap()->false_value());
#define CHECK_NOT_EMPTY_HANDLE(isolate, call)
Handle< JSObject > NewFunctionPrototype(Handle< JSFunction > function)
Handle< JSObject > NewJSObject(Handle< JSFunction > constructor, PretenureFlag pretenure=NOT_TENURED)
Handle< String > NewExternalStringFromAscii(const ExternalAsciiString::Resource *resource)
static const int kIrregexpMaxRegisterCountIndex
Handle< Context > NewModuleContext(Handle< ScopeInfo > scope_info)
Handle< JSFunction > NewFunctionFromSharedFunctionInfo(Handle< SharedFunctionInfo > function_info, Handle< Context > context, PretenureFlag pretenure=TENURED)
static Handle< Object > TryCall(Handle< JSFunction > func, Handle< Object > receiver, int argc, Handle< Object > argv[], bool *caught_exception)
Handle< String > SymbolFromString(Handle< String > value)
virtual MUST_USE_RESULT MaybeObject * SetCapacityAndLength(JSArray *array, int capacity, int length)=0
static MapCache * cast(Object *obj)
static bool UseCrankshaft()
Handle< DescriptorArray > NewDescriptorArray(int number_of_descriptors, int slack=0)
Handle< FixedArray > NewFixedArrayWithHoles(int size, PretenureFlag pretenure=NOT_TENURED)
static Smi * FromInt(int value)
Handle< String > NewSubString(Handle< String > str, int begin, int end)
Handle< Script > NewScript(Handle< String > source)
Handle< SeqAsciiString > NewRawAsciiString(int length, PretenureFlag pretenure=NOT_TENURED)
Handle< ObjectHashTable > NewObjectHashTable(int at_least_space_for)
Handle< JSFunction > BaseNewFunctionFromSharedFunctionInfo(Handle< SharedFunctionInfo > function_info, Handle< Map > function_map, PretenureFlag pretenure)
static ObjectTemplateInfo * cast(Object *obj)
Handle< JSArray > NewJSArray(int capacity, ElementsKind elements_kind=TERMINAL_FAST_ELEMENTS_KIND, PretenureFlag pretenure=NOT_TENURED)
static Handle< T > cast(Handle< S > that)
Handle< Context > NewCatchContext(Handle< JSFunction > function, Handle< Context > previous, Handle< String > name, Handle< Object > thrown_object)
static const int kIrregexpDataSize
Handle< Context > NewFunctionContext(int length, Handle< JSFunction > function)
Handle< AccessorInfo > NewAccessorInfo()
void SetPrototypeProperty(Handle< JSFunction > func, Handle< JSObject > value)
static const int kIrregexpASCIICodeIndex
static const int kIrregexpUC16CodeIndex
#define ASSERT(condition)
static const int kIrregexpASCIICodeSavedIndex
static void AppendCallbackDescriptors(Handle< Map > map, Handle< Object > descriptors)
Handle< JSFunction > NewFunctionWithPrototype(Handle< String > name, InstanceType type, int instance_size, Handle< JSObject > prototype, Handle< Code > code, bool force_initial_map)
const int kPointerSizeLog2
#define CALL_HEAP_FUNCTION_VOID(ISOLATE, FUNCTION_CALL)
static void ConfigureInstance(Handle< Object > instance, Handle< Object > data, bool *exc)
Handle< SharedFunctionInfo > NewSharedFunctionInfo(Handle< String > name, int number_of_literals, Handle< Code > code, Handle< ScopeInfo > scope_info)
static const int kSourceIndex
kPropertyAccessorsOffset kNamedPropertyHandlerOffset instance_template
Handle< Object > NewNumber(double value, PretenureFlag pretenure=NOT_TENURED)
Handle< JSObject > NewArgumentsObject(Handle< Object > callee, int length)
Handle< Code > CopyCode(Handle< Code > code)
Handle< String > NumberToString(Handle< Object > number)
void EnsureCanContainHeapObjectElements(Handle< JSArray > array)
Handle< String > LookupAsciiSymbol(Vector< const char > str)
Handle< JSMessageObject > NewJSMessageObject(Handle< String > type, Handle< JSArray > arguments, int start_position, int end_position, Handle< Object > script, Handle< Object > stack_trace, Handle< Object > stack_frames)
Handle< Object > NewSyntaxError(const char *type, Handle< JSArray > args)
static Smi * cast(Object *object)
Handle< String > EmergencyNewError(const char *type, Handle< JSArray > args)
Handle< SeededNumberDictionary > DictionaryAtNumberPut(Handle< SeededNumberDictionary >, uint32_t key, Handle< Object > value)
Handle< Map > GetElementsTransitionMap(Handle< JSObject > object, ElementsKind elements_kind)
Handle< String > NewStringFromUtf8(Vector< const char > str, PretenureFlag pretenure=NOT_TENURED)
Handle< Object > NewRangeError(const char *type, Vector< Handle< Object > > args)
void ConfigureInstance(Handle< FunctionTemplateInfo > desc, Handle< JSObject > instance, bool *pending_exception)
static const int kLiteralNativeContextIndex
Handle< StringDictionary > NewStringDictionary(int at_least_space_for)
Handle< Map > CopyWithPreallocatedFieldDescriptors(Handle< Map > map)
Handle< Map > CopyMap(Handle< Map > map, int extra_inobject_props)
static const int kIrregexpUC16CodeSavedIndex
Handle< JSFunction > NewFunction(Handle< String > name, Handle< Object > prototype)
Handle< SeqTwoByteString > NewRawTwoByteString(int length, PretenureFlag pretenure=NOT_TENURED)
void SetLastScriptId(Object *last_script_id)
Handle< JSObject > NewNeanderObject()
Handle< ScopeInfo > NewScopeInfo(int length)
static bool IsValid(intptr_t value)
#define CALL_HEAP_FUNCTION(ISOLATE, FUNCTION_CALL, TYPE)
void SetRegExpAtomData(Handle< JSRegExp > regexp, JSRegExp::Type type, Handle< String > source, JSRegExp::Flags flags, Handle< Object > match_pattern)
void SetElementsCapacityAndLength(Handle< JSArray > array, int capacity, int length)
Handle< Object > ToBoolean(bool value)
static const int kMaxInstanceSize
Handle< Object > GlobalConstantFor(Handle< String > name)
Handle< String > LookupSymbol(Vector< const char > str)
Handle< JSObject > NewJSObjectFromMap(Handle< Map > map)
Handle< String > NewStringFromTwoByte(Vector< const uc16 > str, PretenureFlag pretenure=NOT_TENURED)
Handle< ExternalArray > NewExternalArray(int length, ExternalArrayType array_type, void *external_pointer, PretenureFlag pretenure=NOT_TENURED)
static Handle< Object > SetLocalPropertyIgnoreAttributes(Handle< JSObject > object, Handle< String > key, Handle< Object > value, PropertyAttributes attributes)
Handle< ByteArray > NewByteArray(int length, PretenureFlag pretenure=NOT_TENURED)
static FunctionTemplateInfo * cast(Object *obj)
Handle< FixedDoubleArray > NewFixedDoubleArray(int size, PretenureFlag pretenure=NOT_TENURED)
Handle< FixedArray > NewFixedArray(int size, PretenureFlag pretenure=NOT_TENURED)
static void EnsureDescriptorSlack(Handle< Map > map, int slack)
Handle< GlobalObject > NewGlobalObject(Handle< JSFunction > constructor)
static const int kIrregexpCaptureCountIndex
Handle< Object > ToObject(Handle< Object > object)
Handle< Context > NewBlockContext(Handle< JSFunction > function, Handle< Context > previous, Handle< ScopeInfo > scope_info)
static MUST_USE_RESULT MaybeObject * Allocate(int at_least_space_for)
Handle< FixedArray > CopyFixedArray(Handle< FixedArray > array)
Vector< const char > CStrVector(const char *data)
void SetContent(Handle< JSArray > array, Handle< FixedArrayBase > elements)
Handle< JSArray > NewJSArrayWithElements(Handle< FixedArrayBase > elements, ElementsKind elements_kind=TERMINAL_FAST_ELEMENTS_KIND, PretenureFlag pretenure=NOT_TENURED)
Handle< Object > NewNumberFromInt(int32_t value, PretenureFlag pretenure=NOT_TENURED)
Handle< String > NewProperSubString(Handle< String > str, int begin, int end)
Handle< DeoptimizationInputData > NewDeoptimizationInputData(int deopt_entry_count, PretenureFlag pretenure)
Handle< JSProxy > NewJSProxy(Handle< Object > handler, Handle< Object > prototype)
Handle< JSFunction > NewFunctionWithoutPrototype(Handle< String > name, LanguageMode language_mode)
Handle< DeoptimizationOutputData > NewDeoptimizationOutputData(int deopt_entry_count, PretenureFlag pretenure)
Handle< String > NewStringFromAscii(Vector< const char > str, PretenureFlag pretenure=NOT_TENURED)
static const int kAtomDataSize
Handle< String > NewExternalStringFromTwoByte(const ExternalTwoByteString::Resource *resource)
Handle< TypeFeedbackInfo > NewTypeFeedbackInfo()
Handle< Object > NewReferenceError(const char *type, Vector< Handle< Object > > args)
Handle< JSFunction > CreateApiFunction(Handle< FunctionTemplateInfo > data, ApiInstanceType type=JavaScriptObject)
static const int kAtomPatternIndex
void EnsureCanContainElements(Handle< JSArray > array, Handle< FixedArrayBase > elements, uint32_t length, EnsureElementsMode mode)
ElementsKind GetInitialFastElementsKind()
void BecomeJSObject(Handle< JSReceiver > object)
Handle< Object > NewTypeError(const char *type, Vector< Handle< Object > > args)
Handle< JSModule > NewJSModule(Handle< Context > context, Handle< ScopeInfo > scope_info)
Handle< T > EscapeFrom(v8::HandleScope *scope)
static Handle< T > null()
Handle< Context > NewGlobalContext(Handle< JSFunction > function, Handle< ScopeInfo > scope_info)
static MUST_USE_RESULT MaybeObject * Allocate(int number_of_descriptors, int slack=0)
Handle< Map > ObjectLiteralMapFromCache(Handle< Context > context, Handle< FixedArray > keys)
Handle< Foreign > NewForeign(Address addr, PretenureFlag pretenure=NOT_TENURED)
activate correct semantics for inheriting readonliness enable harmony semantics for typeof enable harmony enable harmony proxies enable all harmony harmony_scoping harmony_proxies harmony_scoping tracks arrays with only smi values automatically unbox arrays of doubles use crankshaft use hydrogen range analysis use hydrogen global value numbering use function inlining maximum number of AST nodes considered for a single inlining loop invariant code motion print statistics for hydrogen trace generated IR for specified phases trace register allocator trace range analysis trace representation types environment for every instruction put a break point before deoptimizing polymorphic inlining perform array bounds checks elimination use dead code elimination trace on stack replacement optimize closures cache optimized code for closures functions with arguments object loop weight for representation inference allow uint32 values on optimize frames if they are used only in safe operations track parallel recompilation enable all profiler experiments number of stack frames inspected by the profiler call recompile stub directly when self optimizing trigger profiler ticks based on counting instead of timing weight back edges by jump distance for interrupt triggering percentage of ICs that must have type info to allow optimization watch_ic_patching retry_self_opt interrupt_at_exit 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 SAHF instruction if enable use of VFP3 instructions if available this implies enabling ARMv7 and VFP2 enable use of VFP2 instructions if available 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 MIPS FPU instructions if expose natives in global object expose gc extension number of stack frames to capture disable builtin natives files print a stack trace if an assertion failure occurs use random jit cookie to mask large constants trace lazy optimization use adaptive optimizations prepare for turning on always opt minimum length for automatic enable preparsing maximum number of optimization attempts before giving up cache prototype transitions automatically set the debug break flag when debugger commands are in the queue always cause a debug break before aborting 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 more details following each garbage collection print amount of external allocated memory after each time it is adjusted flush code that we expect not to use again before full gc do incremental marking steps track object counts and memory usage use caching Perform compaction on every full GC Never perform compaction on full GC testing only Compact code space on full incremental collections Default seed for initializing random allows verbose printing trace parsing and preparsing Check icache flushes in ARM and MIPS simulator Stack alingment in bytes in print stack trace when throwing exceptions 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(preemption
void SetIdentityHash(Handle< JSObject > object, Smi *hash)
Handle< String > Uint32ToString(uint32_t value)
activate correct semantics for inheriting readonliness enable harmony semantics for typeof enable harmony enable harmony proxies enable all harmony harmony_scoping harmony_proxies harmony_scoping tracks arrays with only smi values automatically unbox arrays of doubles use crankshaft use hydrogen range analysis use hydrogen global value numbering use function inlining maximum number of AST nodes considered for a single inlining loop invariant code motion print statistics for hydrogen trace generated IR for specified phases trace register allocator trace range analysis trace representation types environment for every instruction put a break point before deoptimizing polymorphic inlining perform array bounds checks elimination use dead code elimination trace on stack replacement optimize closures cache optimized code for closures functions with arguments object loop weight for representation inference allow uint32 values on optimize frames if they are used only in safe operations track parallel recompilation enable all profiler experiments number of stack frames inspected by the profiler call recompile stub directly when self optimizing trigger profiler ticks based on counting instead of timing weight back edges by jump distance for interrupt triggering percentage of ICs that must have type info to allow optimization watch_ic_patching retry_self_opt interrupt_at_exit 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 SAHF instruction if enable use of VFP3 instructions if available this implies enabling ARMv7 and VFP2 enable use of VFP2 instructions if available 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 MIPS FPU instructions if expose natives in global object expose gc extension number of stack frames to capture disable builtin natives files print a stack trace if an assertion failure occurs use random jit cookie to mask large constants trace lazy optimization use adaptive optimizations prepare for turning on always opt minimum length for automatic enable preparsing maximum number of optimization attempts before giving up cache prototype transitions automatically set the debug break flag when debugger commands are in the queue always cause a debug break before aborting 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 more details following each garbage collection print amount of external allocated memory after each time it is adjusted flush code that we expect not to use again before full gc do incremental marking steps track object counts and memory usage use caching Perform compaction on every full GC Never perform compaction on full GC testing only Compact code space on full incremental collections Default seed for initializing random allows verbose printing trace parsing and preparsing Check icache flushes in ARM and MIPS simulator Stack alingment in bytes in print stack trace when throwing exceptions randomize hashes to avoid predictable hash Fixed seed to use to hash property activate a timer that switches between V8 threads testing_bool_flag float flag Seed used for threading test randomness A filename with extra code to be included in the Print usage message
static void StrNCpy(Vector< char > dest, const char *src, size_t n)
static const int kHeaderSize
Handle< FixedDoubleArray > CopyFixedDoubleArray(Handle< FixedDoubleArray > array)
static const int kFlagsIndex
static VisitorId GetVisitorId(int instance_type, int instance_size)
Handle< String > LookupTwoByteSymbol(Vector< const uc16 > str)
Handle< Context > NewWithContext(Handle< JSFunction > function, Handle< Context > previous, Handle< JSObject > extension)
Handle< Code > NewCode(const CodeDesc &desc, Code::Flags flags, Handle< Object > self_reference, bool immovable=false)
Handle< Struct > NewStruct(InstanceType type)
static const int kTagIndex
activate correct semantics for inheriting readonliness enable harmony semantics for typeof enable harmony enable harmony proxies enable all harmony harmony_scoping harmony_proxies harmony_scoping tracks arrays with only smi values automatically unbox arrays of doubles use crankshaft use hydrogen range analysis use hydrogen global value numbering use function inlining maximum number of AST nodes considered for a single inlining loop invariant code motion print statistics for hydrogen trace generated IR for specified phases trace register allocator trace range analysis trace representation types environment for every instruction put a break point before deoptimizing polymorphic inlining perform array bounds checks elimination use dead code elimination trace on stack replacement optimize closures cache optimized code for closures functions with arguments object loop weight for representation inference allow uint32 values on optimize frames if they are used only in safe operations track parallel recompilation enable all profiler experiments number of stack frames inspected by the profiler call recompile stub directly when self optimizing trigger profiler ticks based on counting instead of timing weight back edges by jump distance for interrupt triggering percentage of ICs that must have type info to allow optimization watch_ic_patching retry_self_opt interrupt_at_exit extra verbose compilation tracing generate extra code(assertions) for debugging") DEFINE_bool(code_comments
void SetRegExpIrregexpData(Handle< JSRegExp > regexp, JSRegExp::Type type, Handle< String > source, JSRegExp::Flags flags, int capture_count)
Handle< AccessorPair > NewAccessorPair()
Handle< Context > NewNativeContext()
Handle< Object > NewEvalError(const char *type, Vector< Handle< Object > > args)
activate correct semantics for inheriting readonliness enable harmony semantics for typeof enable harmony enable harmony proxies enable all harmony harmony_scoping harmony_proxies harmony_scoping tracks arrays with only smi values automatically unbox arrays of doubles use crankshaft use hydrogen range analysis use hydrogen global value numbering use function inlining maximum number of AST nodes considered for a single inlining loop invariant code motion print statistics for hydrogen trace generated IR for specified phases trace register allocator trace range analysis trace representation types environment for every instruction put a break point before deoptimizing polymorphic inlining perform array bounds checks elimination use dead code elimination trace on stack replacement optimize closures cache optimized code for closures functions with arguments object loop weight for representation inference allow uint32 values on optimize frames if they are used only in safe operations track parallel recompilation enable all profiler experiments number of stack frames inspected by the profiler call recompile stub directly when self optimizing trigger profiler ticks based on counting instead of timing weight back edges by jump distance for interrupt triggering percentage of ICs that must have type info to allow optimization watch_ic_patching retry_self_opt interrupt_at_exit 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 SAHF instruction if enable use of VFP3 instructions if available this implies enabling ARMv7 and VFP2 enable use of VFP2 instructions if available 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 MIPS FPU instructions if expose natives in global object expose gc extension number of stack frames to capture disable builtin natives files print a stack trace if an assertion failure occurs use random jit cookie to mask large constants trace lazy optimization use adaptive optimizations prepare for turning on always opt minimum length for automatic enable preparsing maximum number of optimization attempts before giving up cache prototype transitions automatically set the debug break flag when debugger commands are in the queue always cause a debug break before aborting 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 more details following each garbage collection print amount of external allocated memory after each time it is adjusted flush code that we expect not to use again before full gc do incremental marking steps track object counts and memory usage use caching Perform compaction on every full GC Never perform compaction on full GC testing only Compact code space on full incremental collections Default seed for initializing random allows verbose printing trace parsing and preparsing Check icache flushes in ARM and MIPS simulator Stack alingment in bytes in print stack trace when throwing exceptions randomize hashes to avoid predictable hash Fixed seed to use to hash property activate a timer that switches between V8 threads testing_bool_flag float flag Seed used for threading test randomness A filename with extra code to be included in the Print usage including flags
static const int kUninitializedValue
Handle< Map > NewMap(InstanceType type, int instance_size, ElementsKind elements_kind=TERMINAL_FAST_ELEMENTS_KIND)
Handle< String > NewConsString(Handle< String > first, Handle< String > second)
static MUST_USE_RESULT MaybeObject * Allocate(int number_of_deopt_points, PretenureFlag pretenure)
Handle< Object > NewNumberFromUint(uint32_t value, PretenureFlag pretenure=NOT_TENURED)
Handle< ObjectHashSet > NewObjectHashSet(int at_least_space_for)
static MUST_USE_RESULT MaybeObject * Allocate(int at_least_space_for, MinimumCapacity capacity_option=USE_DEFAULT_MINIMUM_CAPACITY, PretenureFlag pretenure=NOT_TENURED)
Handle< JSGlobalPropertyCell > NewJSGlobalPropertyCell(Handle< Object > value)
Handle< UnseededNumberDictionary > NewUnseededNumberDictionary(int at_least_space_for)
void BecomeJSFunction(Handle< JSReceiver > object)
Handle< Object > NewError(const char *maker, const char *type, Handle< JSArray > args)
Handle< SeededNumberDictionary > NewSeededNumberDictionary(int at_least_space_for)
static const int kLiteralsPrefixSize
static JSFunction * cast(Object *obj)