// Copyright (c) 2019, 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 "custom_zone.h" #include "platform/text_buffer.h" #include "platform/unicode.h" #include "platform/utils.h" #include "vm/double_conversion.h" #include "vm/os.h" #include "platform/assert.cc" // NOLINT #include "platform/syslog_linux.cc" // NOLINT #include "platform/text_buffer.cc" // NOLINT #include "platform/unicode.cc" // NOLINT #include "platform/utils.cc" // NOLINT #include "platform/utils_linux.cc" // NOLINT #include "vm/compiler/backend/sexpression.cc" // NOLINT #include "vm/double_conversion.cc" // NOLINT #include "vm/flags.cc" // NOLINT #include "vm/os_linux.cc" // NOLINT #include "vm/zone_text_buffer.cc" // NOLINT namespace dart { void* ZoneAllocated::operator new(uintptr_t size, dart::Zone* zone) { return reinterpret_cast(zone->AllocUnsafe(size)); } Zone::~Zone() { while (buffers_.size() > 0) { free(buffers_.back()); buffers_.pop_back(); } } void* Zone::AllocUnsafe(intptr_t size) { void* memory = malloc(size); buffers_.push_back(memory); return memory; } DART_EXPORT void Dart_PrepareToAbort() { fprintf(stderr, "Dart_PrepareToAbort() not implemented!\n"); exit(1); } DART_EXPORT void Dart_DumpNativeStackTrace(void* context) { fprintf(stderr, "Dart_DumpNativeStackTrace() not implemented!\n"); exit(1); } } // namespace dart