| Index: runtime/bin/vmservice_dartium.cc
|
| diff --git a/runtime/bin/vmservice_dartium.cc b/runtime/bin/vmservice_dartium.cc
|
| deleted file mode 100644
|
| index 7c84daa36349e8d6c47cc3459cfa71c03fc956f4..0000000000000000000000000000000000000000
|
| --- a/runtime/bin/vmservice_dartium.cc
|
| +++ /dev/null
|
| @@ -1,154 +0,0 @@
|
| -// 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.
|
| -
|
| -#include "bin/vmservice_dartium.h"
|
| -
|
| -#include "bin/builtin.h"
|
| -#include "bin/dartutils.h"
|
| -#include "bin/eventhandler.h"
|
| -#include "bin/platform.h"
|
| -#include "bin/thread.h"
|
| -#include "bin/utils.h"
|
| -#include "bin/vmservice_impl.h"
|
| -#include "zlib/zlib.h"
|
| -
|
| -namespace dart {
|
| -namespace bin {
|
| -
|
| -#define CHECK_RESULT(result) \
|
| - if (Dart_IsError(result)) { \
|
| - fprintf(stderr, "CHECK_RESULT failed: %s", Dart_GetError(result)); \
|
| - Dart_ExitScope(); \
|
| - Dart_ShutdownIsolate(); \
|
| - return 0; \
|
| - }
|
| -
|
| -static const char* DART_IPV6_ONLY_FLAG = "DART_IPV6_ONLY";
|
| -static const char* DEFAULT_VM_SERVICE_SERVER_IP_V6 = "::1";
|
| -static const char* DEFAULT_VM_SERVICE_SERVER_IP_V4 = "127.0.0.1";
|
| -static const int DEFAULT_VM_SERVICE_SERVER_PORT = 0;
|
| -
|
| -static bool IsIpv6Only() {
|
| - char* v = getenv(DART_IPV6_ONLY_FLAG);
|
| - if (!v) return 0;
|
| - return v[0] == '1';
|
| -}
|
| -
|
| -void VmServiceServer::Bootstrap() {
|
| - if (!Platform::Initialize()) {
|
| - fprintf(stderr, "Platform::Initialize() failed\n");
|
| - }
|
| - DartUtils::SetOriginalWorkingDirectory();
|
| - Thread::InitOnce();
|
| - TimerUtils::InitOnce();
|
| - EventHandler::Start();
|
| -}
|
| -
|
| -Dart_Isolate VmServiceServer::CreateIsolate(const uint8_t* snapshot_buffer) {
|
| - ASSERT(snapshot_buffer != NULL);
|
| - // Create the isolate.
|
| - IsolateData* isolate_data =
|
| - new IsolateData(DART_VM_SERVICE_ISOLATE_NAME, NULL, NULL, NULL);
|
| - char* error = 0;
|
| - Dart_Isolate isolate =
|
| - Dart_CreateIsolate(DART_VM_SERVICE_ISOLATE_NAME, "main", snapshot_buffer,
|
| - NULL, NULL, isolate_data, &error);
|
| - if (!isolate) {
|
| - fprintf(stderr, "Dart_CreateIsolate failed: %s\n", error);
|
| - return 0;
|
| - }
|
| -
|
| - Dart_EnterScope();
|
| - Builtin::SetNativeResolver(Builtin::kBuiltinLibrary);
|
| - Builtin::SetNativeResolver(Builtin::kIOLibrary);
|
| -
|
| - ASSERT(Dart_IsServiceIsolate(isolate));
|
| - if (!VmService::Setup(
|
| - IsIpv6Only() ? DEFAULT_VM_SERVICE_SERVER_IP_V6
|
| - : DEFAULT_VM_SERVICE_SERVER_IP_V4,
|
| - DEFAULT_VM_SERVICE_SERVER_PORT, false /* running_precompiled */,
|
| - false /* disable origin checks */, false /* trace_loading */)) {
|
| - fprintf(stderr, "Vmservice::Setup failed: %s\n",
|
| - VmService::GetErrorMessage());
|
| - isolate = NULL;
|
| - }
|
| - Dart_ExitScope();
|
| - Dart_ExitIsolate();
|
| - return isolate;
|
| -}
|
| -
|
| -const char* VmServiceServer::GetServerAddress() {
|
| - return VmService::GetServerAddress();
|
| -}
|
| -
|
| -void VmServiceServer::DecompressAssets(const uint8_t* input,
|
| - unsigned int input_len,
|
| - uint8_t** output,
|
| - unsigned int* output_length) {
|
| - ASSERT(input != NULL);
|
| - ASSERT(input_len > 0);
|
| - ASSERT(output != NULL);
|
| - ASSERT(output_length != NULL);
|
| -
|
| - // Initialize output.
|
| - *output = NULL;
|
| - *output_length = 0;
|
| -
|
| - const unsigned int kChunkSize = 256 * 1024;
|
| - uint8_t chunk_out[kChunkSize];
|
| - z_stream strm;
|
| - strm.zalloc = Z_NULL;
|
| - strm.zfree = Z_NULL;
|
| - strm.opaque = Z_NULL;
|
| - strm.avail_in = 0;
|
| - strm.next_in = 0;
|
| - int ret = inflateInit2(&strm, 32 + MAX_WBITS);
|
| - ASSERT(ret == Z_OK);
|
| -
|
| - unsigned int input_cursor = 0;
|
| - unsigned int output_cursor = 0;
|
| - do {
|
| - // Setup input.
|
| - unsigned int size_in = input_len - input_cursor;
|
| - if (size_in > kChunkSize) {
|
| - size_in = kChunkSize;
|
| - }
|
| - strm.avail_in = size_in;
|
| - strm.next_in = const_cast<uint8_t*>(&input[input_cursor]);
|
| -
|
| - // Inflate until we've exhausted the current input chunk.
|
| - do {
|
| - // Setup output.
|
| - strm.avail_out = kChunkSize;
|
| - strm.next_out = &chunk_out[0];
|
| - // Inflate.
|
| - ret = inflate(&strm, Z_SYNC_FLUSH);
|
| - // We either hit the end of the stream or made forward progress.
|
| - ASSERT((ret == Z_STREAM_END) || (ret == Z_OK));
|
| - // Grow output buffer size.
|
| - unsigned int size_out = kChunkSize - strm.avail_out;
|
| - *output_length += size_out;
|
| - *output = reinterpret_cast<uint8_t*>(realloc(*output, *output_length));
|
| - // Copy output.
|
| - memmove(&((*output)[output_cursor]), &chunk_out[0], size_out);
|
| - output_cursor += size_out;
|
| - } while (strm.avail_out == 0);
|
| -
|
| - // We've processed size_in bytes.
|
| - input_cursor += size_in;
|
| -
|
| - // We're finished decompressing when zlib tells us.
|
| - } while (ret != Z_STREAM_END);
|
| -
|
| - inflateEnd(&strm);
|
| -}
|
| -
|
| -/* DISALLOW_ALLOCATION */
|
| -void VmServiceServer::operator delete(void* pointer) {
|
| - fprintf(stderr, "unreachable code\n");
|
| - abort();
|
| -}
|
| -
|
| -} // namespace bin
|
| -} // namespace dart
|
|
|