Files
shiny/R
Joe Cheng 97498451bb Lazily format stack traces
With deep stack traces enabled, whenever then() is called, we need
to grab the current stack, just in case a downstream callback throws
an error and we need to form a deep stack trace.

Previously, we were calling formatStackTrace at the time that we
grab the current stack (i.e. no error has happened yet) because I
wasn't sure whether holding a reference to sys.calls() for a long
time was a good idea from a garbage collection perspective; would it
prevent the stack frame environments from being collected? But the
answer is no, sys.calls() is just calls, which can be confirmed with
.Internal(inspect(sys.calls()).

By deferring the formatStackTrace call to when we actually need to
print the stack trace, we save ourselves a ton of work--it turns out
it's quite expensive to format the stack traces, much more expensive
than sys.calls() alone.
2018-03-20 12:35:17 -07:00
..
2018-03-20 12:35:17 -07:00
2016-03-08 16:54:28 -06:00
2017-01-25 23:45:26 +00:00
2014-02-11 22:59:37 -06:00
2015-12-10 15:11:03 -06:00
2015-09-09 12:12:47 -07:00
2016-08-12 21:26:18 -05:00
2017-08-04 15:10:08 +01:00
2016-09-16 23:39:26 -05:00
2017-01-31 20:36:28 -06:00
wip
2018-02-09 11:12:45 -08:00
2018-02-09 11:12:45 -08:00
2018-01-29 13:41:30 -06:00