requestPerformanceMode method
- DartPerformanceMode mode
Request a specific DartPerformanceMode.
Returns null
if the request was not successful due to conflicting performance mode requests.
Two requests are said to be in conflict if they are not of the same DartPerformanceMode type,
and an explicit request for a performance mode has been made prior.
Requestor is responsible for calling PerformanceModeRequestHandle.dispose when it no longer requires the performance mode.
Implementation
PerformanceModeRequestHandle? requestPerformanceMode(DartPerformanceMode mode) {
// conflicting requests are not allowed.
if (_performanceMode != null && _performanceMode != mode) {
return null;
}
if (_performanceMode == mode) {
assert(_numPerformanceModeRequests > 0);
_numPerformanceModeRequests++;
} else if (_performanceMode == null) {
assert(_numPerformanceModeRequests == 0);
_performanceMode = mode;
_numPerformanceModeRequests = 1;
}
return PerformanceModeRequestHandle._(_disposePerformanceModeRequest);
}