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/string-stream.cc b/src/string-stream.cc
index 2801d23..43be8f1 100644
--- a/src/string-stream.cc
+++ b/src/string-stream.cc
@@ -527,12 +527,18 @@
Object* name = fun->shared()->name();
bool print_name = false;
Isolate* isolate = fun->GetIsolate();
- for (PrototypeIterator iter(isolate, receiver,
- PrototypeIterator::START_AT_RECEIVER);
- !iter.IsAtEnd(); iter.Advance()) {
- if (iter.GetCurrent()->IsJSObject()) {
+ if (receiver->IsNull() || receiver->IsUndefined() || receiver->IsJSProxy()) {
+ print_name = true;
+ } else {
+ if (!receiver->IsJSObject()) {
+ receiver = receiver->GetRootMap(isolate)->prototype();
+ }
+
+ for (PrototypeIterator iter(isolate, JSObject::cast(receiver),
+ PrototypeIterator::START_AT_RECEIVER);
+ !iter.IsAtEnd(); iter.Advance()) {
Object* key = iter.GetCurrent<JSObject>()->SlowReverseLookup(fun);
- if (key != isolate->heap()->undefined_value()) {
+ if (!key->IsUndefined()) {
if (!name->IsString() ||
!key->IsString() ||
!String::cast(name)->Equals(String::cast(key))) {
@@ -542,9 +548,8 @@
print_name = false;
}
name = key;
+ break;
}
- } else {
- print_name = true;
}
}
PrintName(name);