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)