| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 | 462 |
| 463 | 463 |
| 464 Logger::~Logger() { | 464 Logger::~Logger() { |
| 465 delete address_to_name_map_; | 465 delete address_to_name_map_; |
| 466 delete name_buffer_; | 466 delete name_buffer_; |
| 467 delete log_; | 467 delete log_; |
| 468 } | 468 } |
| 469 | 469 |
| 470 | 470 |
| 471 void Logger::IssueCodeAddedEvent(Code* code, | 471 void Logger::IssueCodeAddedEvent(Code* code, |
| 472 Script* script, |
| 472 const char* name, | 473 const char* name, |
| 473 size_t name_len) { | 474 size_t name_len) { |
| 474 JitCodeEvent event; | 475 JitCodeEvent event; |
| 476 memset(&event, 0, sizeof(event)); |
| 475 event.type = JitCodeEvent::CODE_ADDED; | 477 event.type = JitCodeEvent::CODE_ADDED; |
| 476 event.code_start = code->instruction_start(); | 478 event.code_start = code->instruction_start(); |
| 477 event.code_len = code->instruction_size(); | 479 event.code_len = code->instruction_size(); |
| 480 event.userdata = script; |
| 478 event.name.str = name; | 481 event.name.str = name; |
| 479 event.name.len = name_len; | 482 event.name.len = name_len; |
| 480 | 483 |
| 481 code_event_handler_(&event); | 484 code_event_handler_(&event); |
| 482 } | 485 } |
| 483 | 486 |
| 484 | 487 |
| 485 void Logger::IssueCodeMovedEvent(Address from, Address to) { | 488 void Logger::IssueCodeMovedEvent(Address from, Address to) { |
| 486 Code* from_code = Code::cast(HeapObject::FromAddress(from)); | 489 Code* from_code = Code::cast(HeapObject::FromAddress(from)); |
| 487 | 490 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 506 Code* from_code = Code::cast(HeapObject::FromAddress(from)); | 509 Code* from_code = Code::cast(HeapObject::FromAddress(from)); |
| 507 | 510 |
| 508 JitCodeEvent event; | 511 JitCodeEvent event; |
| 509 event.type = JitCodeEvent::CODE_REMOVED; | 512 event.type = JitCodeEvent::CODE_REMOVED; |
| 510 event.code_start = from_code->instruction_start(); | 513 event.code_start = from_code->instruction_start(); |
| 511 event.code_len = from_code->instruction_size(); | 514 event.code_len = from_code->instruction_size(); |
| 512 | 515 |
| 513 code_event_handler_(&event); | 516 code_event_handler_(&event); |
| 514 } | 517 } |
| 515 | 518 |
| 519 void Logger::IssueAddCodeLinePosInfoEvent(JITCodeLineInfo* lineinfo, |
| 520 int pc_offset, |
| 521 int position, |
| 522 bool is_statement) { |
| 523 JitCodeEvent event; |
| 524 event.type = JitCodeEvent::CODE_ADD_LINE_POS_INFO; |
| 525 |
| 526 event.userdata = lineinfo; |
| 527 event.line_info.offset = pc_offset; |
| 528 event.line_info.pos = position; |
| 529 event.line_info.is_statement = is_statement; |
| 530 |
| 531 code_event_handler_(&event); |
| 532 } |
| 533 |
| 534 void Logger::IssueStartCodePosInfoEvent(JITCodeLineInfo* lineinfo) { |
| 535 JitCodeEvent event; |
| 536 event.type = JitCodeEvent::CODE_START_LINE_INFO_RECORDING; |
| 537 event.userdata = lineinfo; |
| 538 |
| 539 code_event_handler_(&event); |
| 540 } |
| 541 |
| 542 void Logger::IssueEndCodePosInfoEvent(Code* code, void* lineinfostruct) { |
| 543 JitCodeEvent event; |
| 544 event.type = JitCodeEvent::CODE_END_LINE_INFO_RECORDING; |
| 545 |
| 546 if (code != NULL) |
| 547 event.code_start = code->instruction_start(); |
| 548 else |
| 549 event.code_start = 0; |
| 550 |
| 551 event.userdata = lineinfostruct; |
| 552 |
| 553 code_event_handler_(&event); |
| 554 } |
| 516 | 555 |
| 517 #define DECLARE_EVENT(ignore1, name) name, | 556 #define DECLARE_EVENT(ignore1, name) name, |
| 518 static const char* const kLogEventsNames[Logger::NUMBER_OF_LOG_EVENTS] = { | 557 static const char* const kLogEventsNames[Logger::NUMBER_OF_LOG_EVENTS] = { |
| 519 LOG_EVENTS_AND_TAGS_LIST(DECLARE_EVENT) | 558 LOG_EVENTS_AND_TAGS_LIST(DECLARE_EVENT) |
| 520 }; | 559 }; |
| 521 #undef DECLARE_EVENT | 560 #undef DECLARE_EVENT |
| 522 | 561 |
| 523 | 562 |
| 524 void Logger::ProfilerBeginEvent() { | 563 void Logger::ProfilerBeginEvent() { |
| 525 if (!log_->IsEnabled()) return; | 564 if (!log_->IsEnabled()) return; |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 890 Code* code, | 929 Code* code, |
| 891 const char* comment) { | 930 const char* comment) { |
| 892 if (!is_logging_code_events()) return; | 931 if (!is_logging_code_events()) return; |
| 893 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { | 932 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { |
| 894 name_buffer_->Reset(); | 933 name_buffer_->Reset(); |
| 895 name_buffer_->AppendBytes(kLogEventsNames[tag]); | 934 name_buffer_->AppendBytes(kLogEventsNames[tag]); |
| 896 name_buffer_->AppendByte(':'); | 935 name_buffer_->AppendByte(':'); |
| 897 name_buffer_->AppendBytes(comment); | 936 name_buffer_->AppendBytes(comment); |
| 898 } | 937 } |
| 899 if (code_event_handler_ != NULL) { | 938 if (code_event_handler_ != NULL) { |
| 900 IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size()); | 939 IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size()); |
| 901 } | 940 } |
| 902 if (!log_->IsEnabled()) return; | 941 if (!log_->IsEnabled()) return; |
| 903 if (FLAG_ll_prof) { | 942 if (FLAG_ll_prof) { |
| 904 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); | 943 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); |
| 905 } | 944 } |
| 906 if (Serializer::enabled()) { | 945 if (Serializer::enabled()) { |
| 907 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); | 946 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); |
| 908 } | 947 } |
| 909 if (!FLAG_log_code) return; | 948 if (!FLAG_log_code) return; |
| 910 LogMessageBuilder msg(this); | 949 LogMessageBuilder msg(this); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 930 Code* code, | 969 Code* code, |
| 931 String* name) { | 970 String* name) { |
| 932 if (!is_logging_code_events()) return; | 971 if (!is_logging_code_events()) return; |
| 933 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { | 972 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { |
| 934 name_buffer_->Reset(); | 973 name_buffer_->Reset(); |
| 935 name_buffer_->AppendBytes(kLogEventsNames[tag]); | 974 name_buffer_->AppendBytes(kLogEventsNames[tag]); |
| 936 name_buffer_->AppendByte(':'); | 975 name_buffer_->AppendByte(':'); |
| 937 name_buffer_->AppendString(name); | 976 name_buffer_->AppendString(name); |
| 938 } | 977 } |
| 939 if (code_event_handler_ != NULL) { | 978 if (code_event_handler_ != NULL) { |
| 940 IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size()); | 979 IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size()); |
| 941 } | 980 } |
| 942 if (!log_->IsEnabled()) return; | 981 if (!log_->IsEnabled()) return; |
| 943 if (FLAG_ll_prof) { | 982 if (FLAG_ll_prof) { |
| 944 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); | 983 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); |
| 945 } | 984 } |
| 946 if (Serializer::enabled()) { | 985 if (Serializer::enabled()) { |
| 947 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); | 986 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); |
| 948 } | 987 } |
| 949 if (!FLAG_log_code) return; | 988 if (!FLAG_log_code) return; |
| 950 LogMessageBuilder msg(this); | 989 LogMessageBuilder msg(this); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 977 String* name) { | 1016 String* name) { |
| 978 if (!is_logging_code_events()) return; | 1017 if (!is_logging_code_events()) return; |
| 979 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { | 1018 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { |
| 980 name_buffer_->Reset(); | 1019 name_buffer_->Reset(); |
| 981 name_buffer_->AppendBytes(kLogEventsNames[tag]); | 1020 name_buffer_->AppendBytes(kLogEventsNames[tag]); |
| 982 name_buffer_->AppendByte(':'); | 1021 name_buffer_->AppendByte(':'); |
| 983 name_buffer_->AppendBytes(ComputeMarker(code)); | 1022 name_buffer_->AppendBytes(ComputeMarker(code)); |
| 984 name_buffer_->AppendString(name); | 1023 name_buffer_->AppendString(name); |
| 985 } | 1024 } |
| 986 if (code_event_handler_ != NULL) { | 1025 if (code_event_handler_ != NULL) { |
| 987 IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size()); | 1026 IssueCodeAddedEvent(code, shared->script()->IsScript() ? |
| 1027 Script::cast(shared->script()):NULL, |
| 1028 name_buffer_->get(), |
| 1029 name_buffer_->size()); |
| 988 } | 1030 } |
| 989 if (!log_->IsEnabled()) return; | 1031 if (!log_->IsEnabled()) return; |
| 990 if (FLAG_ll_prof) { | 1032 if (FLAG_ll_prof) { |
| 991 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); | 1033 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); |
| 992 } | 1034 } |
| 993 if (Serializer::enabled()) { | 1035 if (Serializer::enabled()) { |
| 994 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); | 1036 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); |
| 995 } | 1037 } |
| 996 if (!FLAG_log_code) return; | 1038 if (!FLAG_log_code) return; |
| 997 if (code == Isolate::Current()->builtins()->builtin( | 1039 if (code == Isolate::Current()->builtins()->builtin( |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1027 name_buffer_->AppendBytes(kLogEventsNames[tag]); | 1069 name_buffer_->AppendBytes(kLogEventsNames[tag]); |
| 1028 name_buffer_->AppendByte(':'); | 1070 name_buffer_->AppendByte(':'); |
| 1029 name_buffer_->AppendBytes(ComputeMarker(code)); | 1071 name_buffer_->AppendBytes(ComputeMarker(code)); |
| 1030 name_buffer_->AppendString(shared->DebugName()); | 1072 name_buffer_->AppendString(shared->DebugName()); |
| 1031 name_buffer_->AppendByte(' '); | 1073 name_buffer_->AppendByte(' '); |
| 1032 name_buffer_->AppendString(source); | 1074 name_buffer_->AppendString(source); |
| 1033 name_buffer_->AppendByte(':'); | 1075 name_buffer_->AppendByte(':'); |
| 1034 name_buffer_->AppendInt(line); | 1076 name_buffer_->AppendInt(line); |
| 1035 } | 1077 } |
| 1036 if (code_event_handler_ != NULL) { | 1078 if (code_event_handler_ != NULL) { |
| 1037 IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size()); | 1079 IssueCodeAddedEvent(code, shared->script()->IsScript() ? |
| 1080 Script::cast(shared->script()):NULL, |
| 1081 name_buffer_->get(), |
| 1082 name_buffer_->size()); |
| 1038 } | 1083 } |
| 1039 if (!log_->IsEnabled()) return; | 1084 if (!log_->IsEnabled()) return; |
| 1040 if (FLAG_ll_prof) { | 1085 if (FLAG_ll_prof) { |
| 1041 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); | 1086 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); |
| 1042 } | 1087 } |
| 1043 if (Serializer::enabled()) { | 1088 if (Serializer::enabled()) { |
| 1044 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); | 1089 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); |
| 1045 } | 1090 } |
| 1046 if (!FLAG_log_code) return; | 1091 if (!FLAG_log_code) return; |
| 1047 LogMessageBuilder msg(this); | 1092 LogMessageBuilder msg(this); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1068 | 1113 |
| 1069 void Logger::CodeCreateEvent(LogEventsAndTags tag, Code* code, int args_count) { | 1114 void Logger::CodeCreateEvent(LogEventsAndTags tag, Code* code, int args_count) { |
| 1070 if (!is_logging_code_events()) return; | 1115 if (!is_logging_code_events()) return; |
| 1071 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { | 1116 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { |
| 1072 name_buffer_->Reset(); | 1117 name_buffer_->Reset(); |
| 1073 name_buffer_->AppendBytes(kLogEventsNames[tag]); | 1118 name_buffer_->AppendBytes(kLogEventsNames[tag]); |
| 1074 name_buffer_->AppendByte(':'); | 1119 name_buffer_->AppendByte(':'); |
| 1075 name_buffer_->AppendInt(args_count); | 1120 name_buffer_->AppendInt(args_count); |
| 1076 } | 1121 } |
| 1077 if (code_event_handler_ != NULL) { | 1122 if (code_event_handler_ != NULL) { |
| 1078 IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size()); | 1123 IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size()); |
| 1079 } | 1124 } |
| 1080 if (!log_->IsEnabled()) return; | 1125 if (!log_->IsEnabled()) return; |
| 1081 if (FLAG_ll_prof) { | 1126 if (FLAG_ll_prof) { |
| 1082 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); | 1127 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); |
| 1083 } | 1128 } |
| 1084 if (Serializer::enabled()) { | 1129 if (Serializer::enabled()) { |
| 1085 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); | 1130 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); |
| 1086 } | 1131 } |
| 1087 if (!FLAG_log_code) return; | 1132 if (!FLAG_log_code) return; |
| 1088 LogMessageBuilder msg(this); | 1133 LogMessageBuilder msg(this); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1106 | 1151 |
| 1107 void Logger::RegExpCodeCreateEvent(Code* code, String* source) { | 1152 void Logger::RegExpCodeCreateEvent(Code* code, String* source) { |
| 1108 if (!is_logging_code_events()) return; | 1153 if (!is_logging_code_events()) return; |
| 1109 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { | 1154 if (FLAG_ll_prof || Serializer::enabled() || code_event_handler_ != NULL) { |
| 1110 name_buffer_->Reset(); | 1155 name_buffer_->Reset(); |
| 1111 name_buffer_->AppendBytes(kLogEventsNames[REG_EXP_TAG]); | 1156 name_buffer_->AppendBytes(kLogEventsNames[REG_EXP_TAG]); |
| 1112 name_buffer_->AppendByte(':'); | 1157 name_buffer_->AppendByte(':'); |
| 1113 name_buffer_->AppendString(source); | 1158 name_buffer_->AppendString(source); |
| 1114 } | 1159 } |
| 1115 if (code_event_handler_ != NULL) { | 1160 if (code_event_handler_ != NULL) { |
| 1116 IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size()); | 1161 IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size()); |
| 1117 } | 1162 } |
| 1118 if (!log_->IsEnabled()) return; | 1163 if (!log_->IsEnabled()) return; |
| 1119 if (FLAG_ll_prof) { | 1164 if (FLAG_ll_prof) { |
| 1120 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); | 1165 LowLevelCodeCreateEvent(code, name_buffer_->get(), name_buffer_->size()); |
| 1121 } | 1166 } |
| 1122 if (Serializer::enabled()) { | 1167 if (Serializer::enabled()) { |
| 1123 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); | 1168 RegisterSnapshotCodeName(code, name_buffer_->get(), name_buffer_->size()); |
| 1124 } | 1169 } |
| 1125 if (!FLAG_log_code) return; | 1170 if (!FLAG_log_code) return; |
| 1126 LogMessageBuilder msg(this); | 1171 LogMessageBuilder msg(this); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1150 void Logger::CodeDeleteEvent(Address from) { | 1195 void Logger::CodeDeleteEvent(Address from) { |
| 1151 if (code_event_handler_ != NULL) IssueCodeRemovedEvent(from); | 1196 if (code_event_handler_ != NULL) IssueCodeRemovedEvent(from); |
| 1152 if (!log_->IsEnabled()) return; | 1197 if (!log_->IsEnabled()) return; |
| 1153 if (FLAG_ll_prof) LowLevelCodeDeleteEvent(from); | 1198 if (FLAG_ll_prof) LowLevelCodeDeleteEvent(from); |
| 1154 if (Serializer::enabled() && address_to_name_map_ != NULL) { | 1199 if (Serializer::enabled() && address_to_name_map_ != NULL) { |
| 1155 address_to_name_map_->Remove(from); | 1200 address_to_name_map_->Remove(from); |
| 1156 } | 1201 } |
| 1157 DeleteEventInternal(CODE_DELETE_EVENT, from); | 1202 DeleteEventInternal(CODE_DELETE_EVENT, from); |
| 1158 } | 1203 } |
| 1159 | 1204 |
| 1205 void Logger::CodeLinePosInfoAddEvent(JITCodeLineInfo* lineinfo, |
| 1206 int pc_offset, |
| 1207 int position, |
| 1208 bool is_statement) { |
| 1209 if (code_event_handler_ != NULL) |
| 1210 IssueAddCodeLinePosInfoEvent(lineinfo, pc_offset, position, is_statement); |
| 1211 } |
| 1212 |
| 1213 void Logger::CodeStartLinePosInfoRecordEvent(JITCodeLineInfo* lineinfo) { |
| 1214 if (code_event_handler_ != NULL) |
| 1215 IssueStartCodePosInfoEvent(lineinfo); |
| 1216 } |
| 1217 |
| 1218 void Logger::CodeEndLinePosInfoRecordEvent(Code* code, void* lineinfostruct) { |
| 1219 if (code_event_handler_ != NULL) |
| 1220 IssueEndCodePosInfoEvent(code, lineinfostruct); |
| 1221 } |
| 1160 | 1222 |
| 1161 void Logger::SnapshotPositionEvent(Address addr, int pos) { | 1223 void Logger::SnapshotPositionEvent(Address addr, int pos) { |
| 1162 if (!log_->IsEnabled()) return; | 1224 if (!log_->IsEnabled()) return; |
| 1163 if (FLAG_ll_prof) LowLevelSnapshotPositionEvent(addr, pos); | 1225 if (FLAG_ll_prof) LowLevelSnapshotPositionEvent(addr, pos); |
| 1164 if (Serializer::enabled() && address_to_name_map_ != NULL) { | 1226 if (Serializer::enabled() && address_to_name_map_ != NULL) { |
| 1165 const char* code_name = address_to_name_map_->Lookup(addr); | 1227 const char* code_name = address_to_name_map_->Lookup(addr); |
| 1166 if (code_name == NULL) return; // Not a code object. | 1228 if (code_name == NULL) return; // Not a code object. |
| 1167 LogMessageBuilder msg(this); | 1229 LogMessageBuilder msg(this); |
| 1168 msg.Append("%s,%d,\"", kLogEventsNames[SNAPSHOT_CODE_NAME_EVENT], pos); | 1230 msg.Append("%s,%d,\"", kLogEventsNames[SNAPSHOT_CODE_NAME_EVENT], pos); |
| 1169 for (const char* p = code_name; *p != '\0'; ++p) { | 1231 for (const char* p = code_name; *p != '\0'; ++p) { |
| (...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1828 void SamplerRegistry::RemoveActiveSampler(Sampler* sampler) { | 1890 void SamplerRegistry::RemoveActiveSampler(Sampler* sampler) { |
| 1829 ASSERT(sampler->IsActive()); | 1891 ASSERT(sampler->IsActive()); |
| 1830 ScopedLock lock(active_samplers_mutex); | 1892 ScopedLock lock(active_samplers_mutex); |
| 1831 ASSERT(active_samplers_ != NULL); | 1893 ASSERT(active_samplers_ != NULL); |
| 1832 bool removed = active_samplers_->RemoveElement(sampler); | 1894 bool removed = active_samplers_->RemoveElement(sampler); |
| 1833 ASSERT(removed); | 1895 ASSERT(removed); |
| 1834 USE(removed); | 1896 USE(removed); |
| 1835 } | 1897 } |
| 1836 | 1898 |
| 1837 } } // namespace v8::internal | 1899 } } // namespace v8::internal |
| OLD | NEW |