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 2
2
refs/heads/master: 7293be3403676f8610a0c9868f1142f649dfb07b
3
3
"refs/heads/_temporary_fletch_patches": 3c0fbecf252e287050b9b3d0987c336a33e9d99b
4
4
refs/heads/dev: e2d59e7f3770ef0cc66a46a0d4f1ec618a3327c0
5
- refs/heads/stable: a07b997e63249d90a3e56f90ddfbe8eea04a29f1
5
+ refs/heads/stable: d7209511d53a22e3c02b4f21f2d8f1c21330335a
6
6
refs/tags/0.1.3.0: 6e07f87fbf8ab9034bdff99b25e7d80204e28a07
7
7
refs/tags/0.1.4.0: 267bd166c0bf3ce7dcc3746087bc149eacdf45cc
8
8
refs/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,
192
192
ASSERT (getter_result.IsNull () || getter_result.IsInstance ());
193
193
194
194
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 ();
196
201
}
197
202
cls = cls.SuperClass ();
198
203
}
You can’t perform that action at this time.
0 commit comments