Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Unified Diff: src/vm/fletch_api_impl.cc

Issue 1659163007: Rename fletch -> dartino (Closed) Base URL: https://github.com/dartino/sdk.git@master
Patch Set: address comments Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/vm/fletch_api_impl.h ('k') | src/vm/fletch_relocation_api_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/vm/fletch_api_impl.cc
diff --git a/src/vm/fletch_api_impl.cc b/src/vm/fletch_api_impl.cc
deleted file mode 100644
index ad8051200743b0e77603553dbee303a631dd2876..0000000000000000000000000000000000000000
--- a/src/vm/fletch_api_impl.cc
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (c) 2015, the Dartino 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.md file.
-
-#include <stdlib.h>
-
-#include "src/vm/fletch_api_impl.h"
-
-#include "src/shared/assert.h"
-#ifdef FLETCH_ENABLE_LIVE_CODING
-#include "src/shared/connection.h"
-#endif
-#include "src/shared/fletch.h"
-#include "src/shared/list.h"
-
-#include "src/vm/ffi.h"
-#include "src/vm/program.h"
-#include "src/vm/program_folder.h"
-#include "src/vm/program_info_block.h"
-#include "src/vm/scheduler.h"
-#include "src/vm/session.h"
-#include "src/vm/snapshot.h"
-
-namespace fletch {
-
-class PrintInterceptorImpl : public PrintInterceptor {
- public:
- typedef void (*PrintFunction)(const char* message, int out, void* data);
-
- PrintInterceptorImpl(PrintFunction fn, void* data) : fn_(fn), data_(data) {}
-
- virtual void Out(char* message) { fn_(message, 2, data_); }
- virtual void Error(char* message) { fn_(message, 3, data_); }
-
- private:
- PrintFunction fn_;
- void* data_;
-};
-
-static bool IsSnapshot(List<uint8> snapshot) {
- return snapshot.length() > 2 && snapshot[0] == 0xbe && snapshot[1] == 0xef;
-}
-
-static Program* LoadSnapshot(List<uint8> bytes) {
- if (IsSnapshot(bytes)) {
- SnapshotReader reader(bytes);
- return reader.ReadProgram();
- }
- return NULL;
-}
-
-static int RunProgram(Program* program) {
-#ifdef FLETCH_ENABLE_LIVE_CODING
- ProgramFolder::FoldProgramByDefault(program);
-#endif // FLETCH_ENABLE_LIVE_CODING
-
- SimpleProgramRunner runner;
-
- int exitcodes[1] = { -1 };
- Program* programs[1] = { program };
- runner.Run(1, exitcodes, programs);
-
- return exitcodes[0];
-}
-
-static void StartProgram(Program* program,
- ProgramExitListener listener,
- void* data) {
-#ifdef FLETCH_ENABLE_LIVE_CODING
- ProgramFolder::FoldProgramByDefault(program);
-#endif // FLETCH_ENABLE_LIVE_CODING
-
- program->SetProgramExitListener(listener, data);
- Process* process = program->ProcessSpawnForMain();
- Scheduler::GlobalInstance()->ScheduleProgram(program, process);
-}
-
-static Program* LoadSnapshotFromFile(const char* path) {
- List<uint8> bytes = Platform::LoadFile(path);
- Program* program = LoadSnapshot(bytes);
- bytes.Delete();
- return program;
-}
-
-static void RunSnapshotFromFile(const char* path) {
- Program* program = LoadSnapshotFromFile(path);
- int result = RunProgram(program);
- delete program;
- if (result != 0) FATAL1("Failed to run snapshot: %s\n", path);
-}
-
-static void WaitForDebuggerConnection(int port) {
-#ifdef FLETCH_ENABLE_LIVE_CODING
- ConnectionListener listener("127.0.0.1", port);
- Connection* connection = listener.Accept();
- Session session(connection);
- session.Initialize();
- session.StartMessageProcessingThread();
- bool success = session.ProcessRun() == 0;
- if (!success) FATAL("Failed to run via debugger connection");
-#else
- FATAL("fletch was built without live coding support.");
-#endif
-}
-} // namespace fletch
-
-void FletchSetup() { fletch::Fletch::Setup(); }
-
-void FletchTearDown() { fletch::Fletch::TearDown(); }
-
-void FletchWaitForDebuggerConnection(int port) {
- fletch::WaitForDebuggerConnection(port);
-}
-
-FletchProgram FletchLoadSnapshotFromFile(const char* path) {
- fletch::Program* program = fletch::LoadSnapshotFromFile(path);
- if (program == NULL) FATAL("Failed to load snapshot from file.\n");
- return reinterpret_cast<FletchProgram>(program);
-}
-
-FletchProgram FletchLoadSnapshot(unsigned char* snapshot, int length) {
- fletch::List<uint8> bytes(snapshot, length);
- fletch::Program* program = fletch::LoadSnapshot(bytes);
- if (program == NULL) FATAL("Failed to load snapshot.\n");
- return reinterpret_cast<FletchProgram>(program);
-}
-
-int FletchRunMain(FletchProgram raw_program) {
- fletch::Program* program = reinterpret_cast<fletch::Program*>(raw_program);
- return fletch::RunProgram(program);
-}
-
-void FletchRunMultipleMain(int count,
- FletchProgram* fletch_programs,
- int* exitcodes) {
- fletch::SimpleProgramRunner runner;
-
- auto programs = reinterpret_cast<fletch::Program**>(fletch_programs);
- for (int i = 0; i < count; i++) {
- exitcodes[i] = -1;
-#ifdef FLETCH_ENABLE_LIVE_CODING
- fletch::ProgramFolder::FoldProgramByDefault(programs[i]);
-#endif // FLETCH_ENABLE_LIVE_CODING
- }
-
- runner.Run(count, exitcodes, programs);
-}
-
-FletchProgram FletchLoadProgramFromFlash(void* heap, size_t size) {
- fletch::Program* program =
- new fletch::Program(fletch::Program::kLoadedFromSnapshot);
- uword address = reinterpret_cast<uword>(heap);
- // The info block is appended at the end of the image.
- size_t heap_size = size - sizeof(fletch::ProgramInfoBlock);
- uword block_address = address + heap_size;
- fletch::ProgramInfoBlock* program_info =
- reinterpret_cast<fletch::ProgramInfoBlock*>(block_address);
- program_info->WriteToProgram(program);
- fletch::Chunk* memory = fletch::ObjectMemory::CreateFlashChunk(
- program->heap()->space(), heap, heap_size);
-
- program->heap()->space()->Append(memory);
- program->heap()->space()->SetReadOnly();
- return reinterpret_cast<FletchProgram>(program);
-}
-
-FLETCH_EXPORT void FletchStartMain(FletchProgram raw_program,
- ProgramExitCallback callback,
- void* callback_data) {
- fletch::Program* program = reinterpret_cast<fletch::Program*>(raw_program);
- fletch::ProgramExitListener listener =
- reinterpret_cast<fletch::ProgramExitListener>(callback);
- fletch::StartProgram(program, listener, callback_data);
-}
-
-void FletchDeleteProgram(FletchProgram raw_program) {
- fletch::Program* program = reinterpret_cast<fletch::Program*>(raw_program);
- delete program;
-}
-
-void FletchRunSnapshotFromFile(const char* path) {
- fletch::RunSnapshotFromFile(path);
-}
-
-bool FletchAddDefaultSharedLibrary(const char* library) {
- return fletch::ForeignFunctionInterface::AddDefaultSharedLibrary(library);
-}
-
-FletchPrintInterceptor FletchRegisterPrintInterceptor(
- PrintInterceptionFunction function, void* data) {
- fletch::PrintInterceptorImpl* impl =
- new fletch::PrintInterceptorImpl(function, data);
- fletch::Print::RegisterPrintInterceptor(impl);
- return reinterpret_cast<void*>(impl);
-}
-
-void FletchUnregisterPrintInterceptor(FletchPrintInterceptor raw_interceptor) {
- fletch::PrintInterceptorImpl* impl =
- reinterpret_cast<fletch::PrintInterceptorImpl*>(raw_interceptor);
- fletch::Print::UnregisterPrintInterceptor(impl);
- delete impl;
-}
« no previous file with comments | « src/vm/fletch_api_impl.h ('k') | src/vm/fletch_relocation_api_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698