45 if (ToObject(&this_as_object)) {
46 if (this_as_object->IsSmi()) {
58 void MaybeObject::PrintLn(FILE* out) {
64 void HeapObject::PrintHeader(FILE* out,
const char*
id) {
65 PrintF(out,
"%p: [%s]\n", reinterpret_cast<void*>(
this),
id);
69 void HeapObject::HeapObjectPrint(FILE* out) {
78 switch (instance_type) {
105 ->ExternalUnsignedByteArrayPrint(out);
112 ->ExternalUnsignedShortArrayPrint(out);
154 PrintF(out,
"Value wrapper around:");
184 #define MAKE_STRUCT_CASE(NAME, Name, name) \
186 Name::cast(this)->Name##Print(out); \
189 #undef MAKE_STRUCT_CASE
192 PrintF(out,
"UNKNOWN TYPE %d",
map()->instance_type());
199 void ByteArray::ByteArrayPrint(FILE* out) {
204 void FreeSpace::FreeSpacePrint(FILE* out) {
209 void ExternalPixelArray::ExternalPixelArrayPrint(FILE* out) {
210 PrintF(out,
"external pixel array");
214 void ExternalByteArray::ExternalByteArrayPrint(FILE* out) {
215 PrintF(out,
"external byte array");
219 void ExternalUnsignedByteArray::ExternalUnsignedByteArrayPrint(FILE* out) {
220 PrintF(out,
"external unsigned byte array");
224 void ExternalShortArray::ExternalShortArrayPrint(FILE* out) {
225 PrintF(out,
"external short array");
229 void ExternalUnsignedShortArray::ExternalUnsignedShortArrayPrint(FILE* out) {
230 PrintF(out,
"external unsigned short array");
234 void ExternalIntArray::ExternalIntArrayPrint(FILE* out) {
235 PrintF(out,
"external int array");
239 void ExternalUnsignedIntArray::ExternalUnsignedIntArrayPrint(FILE* out) {
240 PrintF(out,
"external unsigned int array");
244 void ExternalFloatArray::ExternalFloatArrayPrint(FILE* out) {
245 PrintF(out,
"external float array");
249 void ExternalDoubleArray::ExternalDoubleArrayPrint(FILE* out) {
250 PrintF(out,
"external double array");
254 void JSObject::PrintProperties(FILE* out) {
256 DescriptorArray* descs =
map()->instance_descriptors();
259 descs->GetKey(i)->StringPrint(out);
261 switch (descs->GetType(i)) {
263 int index = descs->GetFieldIndex(i);
265 PrintF(out,
" (field at offset %d)\n", index);
269 descs->GetConstantFunction(i)->ShortPrint(out);
270 PrintF(out,
" (constant function)\n");
273 descs->GetCallbacksObject(i)->ShortPrint(out);
274 PrintF(out,
" (callback)\n");
292 void JSObject::PrintElements(FILE* out) {
295 switch (
map()->elements_kind()) {
302 for (
int i = 0; i < p->length(); i++) {
304 p->get(i)->ShortPrint(out);
312 if (elements()->length() > 0) {
314 for (
int i = 0; i < p->length(); i++) {
315 if (p->is_the_hole(i)) {
316 PrintF(out,
" %d: <the hole>", i);
318 PrintF(out,
" %d: %g", i, p->get_scalar(i));
327 for (
int i = 0; i < p->length(); i++) {
328 PrintF(out,
" %d: %d\n", i, p->get_scalar(i));
334 for (
int i = 0; i < p->length(); i++) {
335 PrintF(out,
" %d: %d\n", i, static_cast<int>(p->get_scalar(i)));
340 ExternalUnsignedByteArray* p =
342 for (
int i = 0; i < p->length(); i++) {
343 PrintF(out,
" %d: %d\n", i, static_cast<int>(p->get_scalar(i)));
349 for (
int i = 0; i < p->length(); i++) {
350 PrintF(out,
" %d: %d\n", i, static_cast<int>(p->get_scalar(i)));
355 ExternalUnsignedShortArray* p =
357 for (
int i = 0; i < p->length(); i++) {
358 PrintF(out,
" %d: %d\n", i, static_cast<int>(p->get_scalar(i)));
364 for (
int i = 0; i < p->length(); i++) {
365 PrintF(out,
" %d: %d\n", i, static_cast<int>(p->get_scalar(i)));
370 ExternalUnsignedIntArray* p =
372 for (
int i = 0; i < p->length(); i++) {
373 PrintF(out,
" %d: %d\n", i, static_cast<int>(p->get_scalar(i)));
379 for (
int i = 0; i < p->length(); i++) {
380 PrintF(out,
" %d: %f\n", i, p->get_scalar(i));
386 for (
int i = 0; i < p->length(); i++) {
387 PrintF(out,
" %d: %f\n", i, p->get_scalar(i));
392 elements()->Print(out);
396 for (
int i = 2; i < p->length(); i++) {
398 p->get(i)->ShortPrint(out);
407 void JSObject::PrintTransitions(FILE* out) {
408 if (!
map()->HasTransitionArray())
return;
409 TransitionArray* transitions =
map()->transitions();
410 for (
int i = 0; i < transitions->number_of_transitions(); i++) {
412 transitions->GetKey(i)->StringPrint(out);
414 switch (transitions->GetTargetDetails(i).type()) {
416 PrintF(out,
" (transition to field)\n");
420 PrintF(out,
" (transition to constant function)\n");
423 PrintF(out,
" (transition to callback)\n");
438 void JSObject::JSObjectPrint(FILE* out) {
439 PrintF(out,
"%p: [JSObject]\n", reinterpret_cast<void*>(
this));
440 PrintF(out,
" - map = %p [", reinterpret_cast<void*>(
map()));
445 "]\n - prototype = %p\n",
448 PrintProperties(out);
449 PrintTransitions(out);
455 void JSModule::JSModulePrint(FILE* out) {
456 HeapObject::PrintHeader(out,
"JSModule");
457 PrintF(out,
" - map = 0x%p\n", reinterpret_cast<void*>(
map()));
458 PrintF(out,
" - context = ");
459 context()->Print(out);
460 PrintF(out,
" - scope_info = ");
461 scope_info()->ShortPrint(out);
464 PrintProperties(out);
501 return "EXTERNAL_UNSIGNED_BYTE_ARRAY";
504 return "EXTERNAL_UNSIGNED_SHORT_ARRAY";
507 return "EXTERNAL_UNSIGNED_INT_ARRAY";
529 #define MAKE_STRUCT_CASE(NAME, Name, name) case NAME##_TYPE: return #NAME;
531 #undef MAKE_STRUCT_CASE
532 default:
return "UNKNOWN";
537 void Map::MapPrint(FILE* out) {
538 HeapObject::PrintHeader(out,
"Map");
542 PrintF(out,
" - elements kind: ");
544 PrintF(out,
"\n - pre-allocated property fields: %d\n",
548 PrintF(out,
" - hidden_prototype\n");
551 PrintF(out,
" - named_interceptor\n");
554 PrintF(out,
" - indexed_interceptor\n");
557 PrintF(out,
" - undetectable\n");
560 PrintF(out,
" - instance_call_handler\n");
563 PrintF(out,
" - access_check_needed\n");
565 PrintF(out,
" - back pointer: ");
567 PrintF(out,
"\n - instance descriptors %i #%i: ",
570 instance_descriptors()->ShortPrint(out);
572 PrintF(out,
"\n - transitions: ");
573 transitions()->ShortPrint(out);
575 PrintF(out,
"\n - prototype: ");
576 prototype()->ShortPrint(out);
577 PrintF(out,
"\n - constructor: ");
578 constructor()->ShortPrint(out);
579 PrintF(out,
"\n - code cache: ");
580 code_cache()->ShortPrint(out);
585 void CodeCache::CodeCachePrint(FILE* out) {
586 HeapObject::PrintHeader(out,
"CodeCache");
587 PrintF(out,
"\n - default_cache: ");
588 default_cache()->ShortPrint(out);
589 PrintF(out,
"\n - normal_type_cache: ");
590 normal_type_cache()->ShortPrint(out);
594 void PolymorphicCodeCache::PolymorphicCodeCachePrint(FILE* out) {
595 HeapObject::PrintHeader(out,
"PolymorphicCodeCache");
596 PrintF(out,
"\n - cache: ");
597 cache()->ShortPrint(out);
601 void TypeFeedbackInfo::TypeFeedbackInfoPrint(FILE* out) {
602 HeapObject::PrintHeader(out,
"TypeFeedbackInfo");
603 PrintF(out,
" - ic_total_count: %d, ic_with_type_info_count: %d\n",
605 PrintF(out,
" - type_feedback_cells: ");
606 type_feedback_cells()->FixedArrayPrint(out);
610 void AliasedArgumentsEntry::AliasedArgumentsEntryPrint(FILE* out) {
611 HeapObject::PrintHeader(out,
"AliasedArgumentsEntry");
616 void FixedArray::FixedArrayPrint(FILE* out) {
617 HeapObject::PrintHeader(out,
"FixedArray");
619 for (
int i = 0; i <
length(); i++) {
620 PrintF(out,
"\n [%d]: ", i);
627 void FixedDoubleArray::FixedDoubleArrayPrint(FILE* out) {
628 HeapObject::PrintHeader(out,
"FixedDoubleArray");
630 for (
int i = 0; i <
length(); i++) {
632 PrintF(out,
"\n [%d]: <the hole>", i);
641 void JSValue::JSValuePrint(FILE* out) {
642 HeapObject::PrintHeader(out,
"ValueObject");
647 void JSMessageObject::JSMessageObjectPrint(FILE* out) {
648 HeapObject::PrintHeader(out,
"JSMessageObject");
650 type()->ShortPrint(out);
651 PrintF(out,
"\n - arguments: ");
652 arguments()->ShortPrint(out);
655 PrintF(out,
"\n - script: ");
656 script()->ShortPrint(out);
657 PrintF(out,
"\n - stack_trace: ");
658 stack_trace()->ShortPrint(out);
659 PrintF(out,
"\n - stack_frames: ");
660 stack_frames()->ShortPrint(out);
665 void String::StringPrint(FILE* out) {
666 if (StringShape(
this).IsSymbol()) {
668 }
else if (StringShape(
this).IsCons()) {
674 const char truncated_epilogue[] =
"...<truncated>";
676 if (!FLAG_use_verbose_printer) {
678 len = 100 -
sizeof(truncated_epilogue);
681 for (
int i = 0; i < len; i++) {
682 PrintF(out,
"%c", Get(i));
685 PrintF(out,
"%s", truncated_epilogue);
688 if (!StringShape(
this).IsSymbol())
PrintF(out,
"\"");
695 char* String::ToAsciiArray() {
698 static char* buffer =
NULL;
699 if (buffer !=
NULL) free(buffer);
700 buffer =
new char[
length()+1];
707 static const char*
const weekdays[] = {
708 "???",
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
711 void JSDate::JSDatePrint(FILE* out) {
712 HeapObject::PrintHeader(out,
"JSDate");
713 PrintF(out,
" - map = 0x%p\n", reinterpret_cast<void*>(
map()));
714 PrintF(out,
" - value = ");
716 if (!year()->IsSmi()) {
717 PrintF(out,
" - time = NaN\n");
719 PrintF(out,
" - time = %s %04d/%02d/%02d %02d:%02d:%02d\n",
720 weekdays[weekday()->IsSmi() ?
Smi::cast(weekday())->value() + 1 : 0],
721 year()->IsSmi() ?
Smi::cast(year())->value() : -1,
722 month()->IsSmi() ?
Smi::cast(month())->value() : -1,
723 day()->IsSmi() ?
Smi::cast(day())->value() : -1,
724 hour()->IsSmi() ?
Smi::cast(hour())->value() : -1,
725 min()->IsSmi() ?
Smi::cast(min())->value() : -1,
726 sec()->IsSmi() ?
Smi::cast(sec())->value() : -1);
731 void JSProxy::JSProxyPrint(FILE* out) {
732 HeapObject::PrintHeader(out,
"JSProxy");
733 PrintF(out,
" - map = 0x%p\n", reinterpret_cast<void*>(
map()));
734 PrintF(out,
" - handler = ");
735 handler()->Print(out);
736 PrintF(out,
" - hash = ");
742 void JSFunctionProxy::JSFunctionProxyPrint(FILE* out) {
743 HeapObject::PrintHeader(out,
"JSFunctionProxy");
744 PrintF(out,
" - map = 0x%p\n", reinterpret_cast<void*>(
map()));
745 PrintF(out,
" - handler = ");
746 handler()->Print(out);
747 PrintF(out,
" - call_trap = ");
748 call_trap()->Print(out);
749 PrintF(out,
" - construct_trap = ");
750 construct_trap()->Print(out);
755 void JSWeakMap::JSWeakMapPrint(FILE* out) {
756 HeapObject::PrintHeader(out,
"JSWeakMap");
757 PrintF(out,
" - map = 0x%p\n", reinterpret_cast<void*>(
map()));
758 PrintF(out,
" - table = ");
759 table()->ShortPrint(out);
764 void JSFunction::JSFunctionPrint(FILE* out) {
765 HeapObject::PrintHeader(out,
"Function");
766 PrintF(out,
" - map = 0x%p\n", reinterpret_cast<void*>(
map()));
767 PrintF(out,
" - initial_map = ");
771 PrintF(out,
"\n - shared_info = ");
772 shared()->ShortPrint(out);
773 PrintF(out,
"\n - name = ");
774 shared()->name()->Print(out);
775 PrintF(out,
"\n - context = ");
777 PrintF(out,
"\n - literals = ");
779 PrintF(out,
"\n - code = ");
783 PrintProperties(out);
790 void SharedFunctionInfo::SharedFunctionInfoPrint(FILE* out) {
791 HeapObject::PrintHeader(out,
"SharedFunctionInfo");
793 name()->ShortPrint(out);
795 PrintF(out,
"\n - instance class name = ");
797 PrintF(out,
"\n - code = ");
798 code()->ShortPrint(out);
800 PrintF(out,
"\n - source code = ");
804 SmartArrayPointer<char> source_string =
807 start, length,
NULL);
808 PrintF(out,
"%s", *source_string);
816 PrintF(out,
"\n - is expression = %d", is_expression());
817 PrintF(out,
"\n - debug info = ");
818 debug_info()->ShortPrint(out);
820 PrintF(out,
"\n - has_only_simple_this_property_assignments = %d",
822 PrintF(out,
"\n - this_property_assignments = ");
823 this_property_assignments()->ShortPrint(out);
828 void JSGlobalProxy::JSGlobalProxyPrint(FILE* out) {
829 PrintF(out,
"global_proxy ");
831 PrintF(out,
"native context : ");
832 native_context()->ShortPrint(out);
837 void JSGlobalObject::JSGlobalObjectPrint(FILE* out) {
840 PrintF(out,
"native context : ");
841 native_context()->ShortPrint(out);
846 void JSBuiltinsObject::JSBuiltinsObjectPrint(FILE* out) {
852 void JSGlobalPropertyCell::JSGlobalPropertyCellPrint(FILE* out) {
853 HeapObject::PrintHeader(out,
"JSGlobalPropertyCell");
857 void Code::CodePrint(FILE* out) {
858 HeapObject::PrintHeader(out,
"Code");
859 #ifdef ENABLE_DISASSEMBLER
860 if (FLAG_use_verbose_printer) {
861 Disassemble(
NULL, out);
867 void Foreign::ForeignPrint(FILE* out) {
872 void AccessorInfo::AccessorInfoPrint(FILE* out) {
873 HeapObject::PrintHeader(out,
"AccessorInfo");
874 PrintF(out,
"\n - getter: ");
875 getter()->ShortPrint(out);
876 PrintF(out,
"\n - setter: ");
877 setter()->ShortPrint(out);
878 PrintF(out,
"\n - name: ");
879 name()->ShortPrint(out);
880 PrintF(out,
"\n - data: ");
881 data()->ShortPrint(out);
882 PrintF(out,
"\n - flag: ");
883 flag()->ShortPrint(out);
887 void AccessorPair::AccessorPairPrint(FILE* out) {
888 HeapObject::PrintHeader(out,
"AccessorPair");
889 PrintF(out,
"\n - getter: ");
890 getter()->ShortPrint(out);
891 PrintF(out,
"\n - setter: ");
892 setter()->ShortPrint(out);
896 void AccessCheckInfo::AccessCheckInfoPrint(FILE* out) {
897 HeapObject::PrintHeader(out,
"AccessCheckInfo");
898 PrintF(out,
"\n - named_callback: ");
899 named_callback()->ShortPrint(out);
900 PrintF(out,
"\n - indexed_callback: ");
901 indexed_callback()->ShortPrint(out);
902 PrintF(out,
"\n - data: ");
903 data()->ShortPrint(out);
907 void InterceptorInfo::InterceptorInfoPrint(FILE* out) {
908 HeapObject::PrintHeader(out,
"InterceptorInfo");
909 PrintF(out,
"\n - getter: ");
910 getter()->ShortPrint(out);
911 PrintF(out,
"\n - setter: ");
912 setter()->ShortPrint(out);
913 PrintF(out,
"\n - query: ");
914 query()->ShortPrint(out);
915 PrintF(out,
"\n - deleter: ");
916 deleter()->ShortPrint(out);
917 PrintF(out,
"\n - enumerator: ");
918 enumerator()->ShortPrint(out);
919 PrintF(out,
"\n - data: ");
920 data()->ShortPrint(out);
924 void CallHandlerInfo::CallHandlerInfoPrint(FILE* out) {
925 HeapObject::PrintHeader(out,
"CallHandlerInfo");
926 PrintF(out,
"\n - callback: ");
927 callback()->ShortPrint(out);
928 PrintF(out,
"\n - data: ");
929 data()->ShortPrint(out);
930 PrintF(out,
"\n - call_stub_cache: ");
934 void FunctionTemplateInfo::FunctionTemplateInfoPrint(FILE* out) {
935 HeapObject::PrintHeader(out,
"FunctionTemplateInfo");
936 PrintF(out,
"\n - class name: ");
937 class_name()->ShortPrint(out);
938 PrintF(out,
"\n - tag: ");
939 tag()->ShortPrint(out);
940 PrintF(out,
"\n - property_list: ");
941 property_list()->ShortPrint(out);
942 PrintF(out,
"\n - serial_number: ");
943 serial_number()->ShortPrint(out);
944 PrintF(out,
"\n - call_code: ");
945 call_code()->ShortPrint(out);
946 PrintF(out,
"\n - property_accessors: ");
948 PrintF(out,
"\n - prototype_template: ");
949 prototype_template()->ShortPrint(out);
950 PrintF(out,
"\n - parent_template: ");
951 parent_template()->ShortPrint(out);
952 PrintF(out,
"\n - named_property_handler: ");
954 PrintF(out,
"\n - indexed_property_handler: ");
955 indexed_property_handler()->ShortPrint(out);
956 PrintF(out,
"\n - instance_template: ");
958 PrintF(out,
"\n - signature: ");
959 signature()->ShortPrint(out);
960 PrintF(out,
"\n - access_check_info: ");
962 PrintF(out,
"\n - hidden_prototype: %s",
964 PrintF(out,
"\n - undetectable: %s", undetectable() ?
"true" :
"false");
965 PrintF(out,
"\n - need_access_check: %s",
966 needs_access_check() ?
"true" :
"false");
970 void ObjectTemplateInfo::ObjectTemplateInfoPrint(FILE* out) {
971 HeapObject::PrintHeader(out,
"ObjectTemplateInfo");
973 tag()->ShortPrint(out);
974 PrintF(out,
"\n - property_list: ");
975 property_list()->ShortPrint(out);
976 PrintF(out,
"\n - constructor: ");
977 constructor()->ShortPrint(out);
978 PrintF(out,
"\n - internal_field_count: ");
979 internal_field_count()->ShortPrint(out);
984 void SignatureInfo::SignatureInfoPrint(FILE* out) {
985 HeapObject::PrintHeader(out,
"SignatureInfo");
986 PrintF(out,
"\n - receiver: ");
987 receiver()->ShortPrint(out);
988 PrintF(out,
"\n - args: ");
989 args()->ShortPrint(out);
993 void TypeSwitchInfo::TypeSwitchInfoPrint(FILE* out) {
994 HeapObject::PrintHeader(out,
"TypeSwitchInfo");
995 PrintF(out,
"\n - types: ");
996 types()->ShortPrint(out);
1000 void Script::ScriptPrint(FILE* out) {
1001 HeapObject::PrintHeader(out,
"Script");
1002 PrintF(out,
"\n - source: ");
1003 source()->ShortPrint(out);
1004 PrintF(out,
"\n - name: ");
1005 name()->ShortPrint(out);
1006 PrintF(out,
"\n - line_offset: ");
1007 line_offset()->ShortPrint(out);
1008 PrintF(out,
"\n - column_offset: ");
1009 column_offset()->ShortPrint(out);
1010 PrintF(out,
"\n - type: ");
1011 type()->ShortPrint(out);
1012 PrintF(out,
"\n - id: ");
1013 id()->ShortPrint(out);
1014 PrintF(out,
"\n - data: ");
1015 data()->ShortPrint(out);
1016 PrintF(out,
"\n - context data: ");
1017 context_data()->ShortPrint(out);
1018 PrintF(out,
"\n - wrapper: ");
1019 wrapper()->ShortPrint(out);
1020 PrintF(out,
"\n - compilation type: ");
1021 compilation_type()->ShortPrint(out);
1022 PrintF(out,
"\n - line ends: ");
1023 line_ends()->ShortPrint(out);
1024 PrintF(out,
"\n - eval from shared: ");
1025 eval_from_shared()->ShortPrint(out);
1026 PrintF(out,
"\n - eval from instructions offset: ");
1032 #ifdef ENABLE_DEBUGGER_SUPPORT
1033 void DebugInfo::DebugInfoPrint(FILE* out) {
1034 HeapObject::PrintHeader(out,
"DebugInfo");
1035 PrintF(out,
"\n - shared: ");
1036 shared()->ShortPrint(out);
1037 PrintF(out,
"\n - original_code: ");
1038 original_code()->ShortPrint(out);
1039 PrintF(out,
"\n - code: ");
1040 code()->ShortPrint(out);
1041 PrintF(out,
"\n - break_points: ");
1042 break_points()->Print(out);
1046 void BreakPointInfo::BreakPointInfoPrint(FILE* out) {
1047 HeapObject::PrintHeader(out,
"BreakPointInfo");
1048 PrintF(out,
"\n - code_position: %d", code_position()->value());
1049 PrintF(out,
"\n - source_position: %d", source_position()->value());
1050 PrintF(out,
"\n - statement_position: %d", statement_position()->value());
1051 PrintF(out,
"\n - break_point_objects: ");
1052 break_point_objects()->ShortPrint(out);
1054 #endif // ENABLE_DEBUGGER_SUPPORT
1057 void DescriptorArray::PrintDescriptors(FILE* out) {
1069 void TransitionArray::PrintTransitions(FILE* out) {
1073 GetKey(i)->StringPrint(out);
1077 PrintF(out,
" (transition to field)\n");
1081 PrintF(out,
" (transition to constant function)\n");
1084 PrintF(out,
" (transition to callback)\n");
1100 #endif // OBJECT_PRINT
kPropertyAccessorsOffset kNamedPropertyHandlerOffset kInstanceTemplateOffset kAccessCheckInfoOffset eval_from_instructions_offset
int inobject_properties()
bool is_hidden_prototype()
void PrintF(const char *format,...)
static String * cast(Object *obj)
int unused_property_fields()
int NumberOfOwnDescriptors()
static HeapObject * cast(Object *obj)
bool is_access_check_needed()
static JSBuiltinsObject * cast(Object *obj)
void Get(int descriptor_number, Descriptor *desc)
static Map * cast(Object *obj)
static ByteArray * cast(Object *obj)
static FreeSpace * cast(Object *obj)
static Foreign * cast(Object *obj)
v8::Handle< v8::Value > Print(const v8::Arguments &args)
static ExternalUnsignedShortArray * cast(Object *obj)
static Script * cast(Object *obj)
kPropertyAccessorsOffset kNamedPropertyHandlerOffset instance_template
static SharedFunctionInfo * cast(Object *obj)
static Code * cast(Object *obj)
static Smi * cast(Object *object)
int function_token_position()
static ExternalShortArray * cast(Object *obj)
bool has_instance_call_handler()
static JSFunctionProxy * cast(Object *obj)
static JSGlobalProxy * cast(Object *obj)
static ExternalIntArray * cast(Object *obj)
int pre_allocated_property_fields()
static Failure * cast(MaybeObject *object)
static Oddball * cast(Object *obj)
static ExternalUnsignedByteArray * cast(Object *obj)
kPropertyAccessorsOffset named_property_handler
static FixedDoubleArray * cast(Object *obj)
Object * FastPropertyAt(int index)
static ExternalPixelArray * cast(Object *obj)
int number_of_transitions()
Object * unchecked_context()
double get_scalar(int index)
static JSMessageObject * cast(Object *obj)
String * GetKey(int transition_number)
bool has_only_simple_this_property_assignments()
static JSDate * cast(Object *obj)
bool HasTransitionArray()
static ExternalDoubleArray * cast(Object *obj)
static ExternalFloatArray * cast(Object *obj)
void PrintElementsKind(FILE *out, ElementsKind kind)
bool has_named_interceptor()
static HeapNumber * cast(Object *obj)
static void WriteToFlat(String *source, sinkchar *sink, int from, int to)
bool is_the_hole(int index)
static JSGlobalPropertyCell * cast(Object *obj)
bool has_indexed_interceptor()
Object * GetBackPointer()
static JSValue * cast(Object *obj)
kPropertyAccessorsOffset kNamedPropertyHandlerOffset kInstanceTemplateOffset kAccessCheckInfoOffset kEvalFrominstructionsOffsetOffset kInstanceClassNameOffset hidden_prototype
int number_of_descriptors()
static JSWeakMap * cast(Object *obj)
kPropertyAccessorsOffset kNamedPropertyHandlerOffset kInstanceTemplateOffset kAccessCheckInfoOffset kEvalFrominstructionsOffsetOffset instance_class_name
int ic_with_type_info_count()
InstanceType instance_type()
static JSProxy * cast(Object *obj)
static FixedArray * cast(Object *obj)
ElementsKind elements_kind()
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 NULL
Address GetDataStartAddress()
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
Address foreign_address()
static ExternalByteArray * cast(Object *obj)
int aliased_context_slot()
static JSModule * cast(Object *obj)
static ExternalUnsignedIntArray * cast(Object *obj)
int expected_nof_properties()
StringDictionary * property_dictionary()
static JSObject * cast(Object *obj)
kPropertyAccessorsOffset kNamedPropertyHandlerOffset kInstanceTemplateOffset access_check_info
#define MAKE_STRUCT_CASE(NAME, Name, name)
PropertyDetails GetTargetDetails(int transition_number)
kPropertyAccessorsOffset kNamedPropertyHandlerOffset kInstanceTemplateOffset kAccessCheckInfoOffset kEvalFrominstructionsOffsetOffset kInstanceClassNameOffset flag
static JSGlobalObject * cast(Object *obj)
static JSFunction * cast(Object *obj)