| // 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<void*>(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 |