-
Alexei Filippov authored
Make sure there is a matching Leave for each Enter. Otherwise it ends up with a dead stack-allocated object in the timer chain. The patch incorporates the following fixes: - RuntimeCallTimerScope::RuntimeCallTimerScope(HeapObject* ...) did create a local object instead of calling an overloaded constructor. - InterpreterCompilationJob::ExecuteJobImpl made an implicit call to a default copy constructor of TimerScope which led to a single Enter was made per two Leaves. - InterpreterCompilationJob::FinalizeJobImpl was calling RuntimeCallTimerScope from a background thread, which caused timer scopes become unbalanced. - RuntimeCallTimerScope constructors were put into counters-inl.h which is not included into most usages of RCS. That led to a suboptimal performance. - Added thread check into Enter and Leave BUG=chromium:669329 Change-Id: Ib5cff0e02e0b6c8b56a03ca3a5ebc37d93fcde55 Reviewed-on: https://chromium-review.googlesource.com/637307Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#47666}
ed7155c6