File tree Expand file tree Collapse file tree 2 files changed +7
-2
lines changed
branches/stable/runtime/vm Expand file tree Collapse file tree 2 files changed +7
-2
lines changed Original file line number Diff line number Diff line change 22refs/heads/master: 7293be3403676f8610a0c9868f1142f649dfb07b
33"refs/heads/_temporary_fletch_patches": 3c0fbecf252e287050b9b3d0987c336a33e9d99b
44refs/heads/dev: e2d59e7f3770ef0cc66a46a0d4f1ec618a3327c0
5- refs/heads/stable: a07b997e63249d90a3e56f90ddfbe8eea04a29f1
5+ refs/heads/stable: d7209511d53a22e3c02b4f21f2d8f1c21330335a
66refs/tags/0.1.3.0: 6e07f87fbf8ab9034bdff99b25e7d80204e28a07
77refs/tags/0.1.4.0: 267bd166c0bf3ce7dcc3746087bc149eacdf45cc
88refs/tags/0.1.4.1: 6ddfffb45e8b1723a11ebb22bbf24d1cfad9028a
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments