Skip to content

Commit c90e624

Browse files
---
yaml --- r: 52676 b: refs/heads/stable c: d720951 h: refs/heads/master
1 parent 1856582 commit c90e624

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 7293be3403676f8610a0c9868f1142f649dfb07b
33
"refs/heads/_temporary_fletch_patches": 3c0fbecf252e287050b9b3d0987c336a33e9d99b
44
refs/heads/dev: e2d59e7f3770ef0cc66a46a0d4f1ec618a3327c0
5-
refs/heads/stable: a07b997e63249d90a3e56f90ddfbe8eea04a29f1
5+
refs/heads/stable: d7209511d53a22e3c02b4f21f2d8f1c21330335a
66
refs/tags/0.1.3.0: 6e07f87fbf8ab9034bdff99b25e7d80204e28a07
77
refs/tags/0.1.4.0: 267bd166c0bf3ce7dcc3746087bc149eacdf45cc
88
refs/tags/0.1.4.1: 6ddfffb45e8b1723a11ebb22bbf24d1cfad9028a

branches/stable/runtime/vm/dart_entry.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,12 @@ RawObject* DartEntry::InvokeClosure(const Array& arguments,
192192
ASSERT(getter_result.IsNull() || getter_result.IsInstance());
193193

194194
arguments.SetAt(0, getter_result);
195-
return InvokeClosure(arguments, arguments_descriptor);
195+
// This otherwise unnecessary handle is used to prevent clang from
196+
// doing tail call elimination, which would make the stack overflow
197+
// check above ineffective.
198+
Object& result = Object::Handle(InvokeClosure(arguments,
199+
arguments_descriptor));
200+
return result.raw();
196201
}
197202
cls = cls.SuperClass();
198203
}

0 commit comments

Comments
 (0)