Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/src/log.cc b/src/log.cc
index a10d962..cbdd9dd 100644
--- a/src/log.cc
+++ b/src/log.cc
@@ -934,6 +934,7 @@
void Logger::EnterExternal(Isolate* isolate) {
LOG(isolate, TimerEvent(START, TimerEventExternal::name()));
+ TRACE_EVENT_BEGIN0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.External");
DCHECK(isolate->current_vm_state() == JS);
isolate->set_current_vm_state(EXTERNAL);
}
@@ -941,6 +942,7 @@
void Logger::LeaveExternal(Isolate* isolate) {
LOG(isolate, TimerEvent(END, TimerEventExternal::name()));
+ TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.External");
DCHECK(isolate->current_vm_state() == EXTERNAL);
isolate->set_current_vm_state(JS);
}
@@ -1497,11 +1499,7 @@
msg.Append(",%ld", static_cast<int>(timer_.Elapsed().InMicroseconds()));
if (sample->has_external_callback) {
msg.Append(",1,");
-#if USES_FUNCTION_DESCRIPTORS
- msg.AppendAddress(*FUNCTION_ENTRYPOINT_ADDRESS(sample->external_callback));
-#else
- msg.AppendAddress(sample->external_callback);
-#endif
+ msg.AppendAddress(sample->external_callback_entry);
} else {
msg.Append(",0,");
msg.AppendAddress(sample->tos);
@@ -1712,6 +1710,9 @@
CallHandlerInfo* call_data = CallHandlerInfo::cast(raw_call_data);
Object* callback_obj = call_data->callback();
Address entry_point = v8::ToCData<Address>(callback_obj);
+#if USES_FUNCTION_DESCRIPTORS
+ entry_point = *FUNCTION_ENTRYPOINT_ADDRESS(entry_point);
+#endif
PROFILE(isolate_, CallbackEvent(*func_name, entry_point));
}
} else {
@@ -1749,16 +1750,22 @@
HeapIterator iterator(heap);
DisallowHeapAllocation no_gc;
for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) {
- if (!obj->IsExecutableAccessorInfo()) continue;
- ExecutableAccessorInfo* ai = ExecutableAccessorInfo::cast(obj);
+ if (!obj->IsAccessorInfo()) continue;
+ AccessorInfo* ai = AccessorInfo::cast(obj);
if (!ai->name()->IsName()) continue;
Address getter_entry = v8::ToCData<Address>(ai->getter());
Name* name = Name::cast(ai->name());
if (getter_entry != 0) {
+#if USES_FUNCTION_DESCRIPTORS
+ getter_entry = *FUNCTION_ENTRYPOINT_ADDRESS(getter_entry);
+#endif
PROFILE(isolate_, GetterCallbackEvent(name, getter_entry));
}
Address setter_entry = v8::ToCData<Address>(ai->setter());
if (setter_entry != 0) {
+#if USES_FUNCTION_DESCRIPTORS
+ setter_entry = *FUNCTION_ENTRYPOINT_ADDRESS(setter_entry);
+#endif
PROFILE(isolate_, SetterCallbackEvent(name, setter_entry));
}
}