Files
sdk/runtime/lib/vmservice_patch.dart
T
Zachary Anderson 5ee95b085f Move tar archive parsing to C++
This gives a 30+ms speedup to startup.

Also uses HashMap instead of Map for assets.

BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org/1474603003 .
2015-11-25 14:39:19 -08:00

33 lines
1.3 KiB
Dart

// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
patch class Asset {
/// Call to request assets from the embedder.
/* patch */ static HashMap<String, Asset> request() {
HashMap<String, Asset> assets = new HashMap<String, Asset>();
Uint8List tarBytes = _requestAssets();
if (tarBytes == null) {
return assets;
}
List assetList = _decodeAssets(tarBytes);
for (int i = 0; i < assetList.length; i += 2) {
var a = new Asset(assetList[i], assetList[i + 1]);
assets[a.name] = a;
}
return assets;
}
}
List _decodeAssets(Uint8List data) native "VMService_DecodeAssets";
patch bool sendIsolateServiceMessage(SendPort sp, List m)
native "VMService_SendIsolateServiceMessage";
patch void sendRootServiceMessage(List m)
native "VMService_SendRootServiceMessage";
patch void _onStart() native "VMService_OnStart";
patch void _onExit() native "VMService_OnExit";
patch bool _vmListenStream(String streamId) native "VMService_ListenStream";
patch void _vmCancelStream(String streamId) native "VMService_CancelStream";
patch Uint8List _requestAssets() native "VMService_RequestAssets";