Skip to content

Commit

Permalink
Remove embedding API.
Browse files Browse the repository at this point in the history
  • Loading branch information
rmacnak committed Oct 5, 2024
1 parent 57f7bf9 commit 4286aa3
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 84 deletions.
2 changes: 0 additions & 2 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,6 @@ executable("vm") {
"vm/port.h",
"vm/primitives.cc",
"vm/primitives.h",
"vm/primordial_soup.cc",
"vm/primordial_soup.h",
"vm/random.h",
"vm/snapshot.cc",
"vm/snapshot.h",
Expand Down
1 change: 0 additions & 1 deletion SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,6 @@ def BuildVM(cxx, arch, target_os, debug, sanitize):
'os_win',
'port',
'primitives',
'primordial_soup',
'snapshot',
'thread_emscripten',
'thread_pool',
Expand Down
27 changes: 20 additions & 7 deletions vm/main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@

#include <signal.h>

#include "vm/isolate.h"
#include "vm/message_loop.h"
#include "vm/os.h"
#include "vm/primordial_soup.h"
#include "vm/port.h"
#include "vm/primitives.h"
#include "vm/virtual_memory.h"

static void SIGINT_handler(int sig) {
PrimordialSoup_InterruptAll();
psoup::Isolate::InterruptAll();
}

int main(int argc, const char** argv) {
Expand All @@ -22,15 +25,25 @@ int main(int argc, const char** argv) {
}

psoup::MappedMemory snapshot = psoup::MappedMemory::MapReadOnly(argv[1]);
PrimordialSoup_Startup();
psoup::OS::Startup();
psoup::Primitives::Startup();
psoup::PortMap::Startup();
psoup::Isolate::Startup();
void (*defaultSIGINT)(int) = signal(SIGINT, SIGINT_handler);

intptr_t exit_code =
PrimordialSoup_RunIsolate(snapshot.address(), snapshot.size(),
argc - 2, &argv[2]);
uint64_t seed = psoup::OS::CurrentMonotonicNanos();
psoup::Isolate* isolate = new psoup::Isolate(snapshot.address(),
snapshot.size(), seed);
isolate->loop()->PostMessage(new psoup::IsolateMessage(ILLEGAL_PORT,
argc - 2, &argv[2]));
intptr_t exit_code = isolate->loop()->Run();
delete isolate;

signal(SIGINT, defaultSIGINT);
PrimordialSoup_Shutdown();
psoup::Isolate::Shutdown();
psoup::PortMap::Shutdown();
psoup::Primitives::Shutdown();
psoup::OS::Shutdown();

snapshot.Free();

Expand Down
7 changes: 5 additions & 2 deletions vm/main_emscripten.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "vm/message_loop.h"
#include "vm/os.h"
#include "vm/port.h"
#include "vm/primordial_soup.h"
#include "vm/primitives.h"

EM_JS(void, _JS_initializeAliens, (), {
var aliens = new Array();
Expand All @@ -25,7 +25,10 @@ EM_JS(void, _JS_initializeAliens, (), {

static psoup::Isolate* isolate;
extern "C" void load_snapshot(const void* snapshot, size_t snapshot_length) {
PrimordialSoup_Startup();
psoup::OS::Startup();
psoup::Primitives::Startup();
psoup::PortMap::Startup();
psoup::Isolate::Startup();
_JS_initializeAliens();

uint64_t seed = psoup::OS::CurrentMonotonicNanos();
Expand Down
1 change: 1 addition & 0 deletions vm/message_loop.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#ifndef VM_MESSAGE_LOOP_H_
#define VM_MESSAGE_LOOP_H_

#include "vm/globals.h"
#include "vm/port.h"

namespace psoup {
Expand Down
1 change: 1 addition & 0 deletions vm/message_loop_emscripten.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

#include <emscripten.h>

#include "vm/assert.h"
#include "vm/os.h"

namespace psoup {
Expand Down
46 changes: 0 additions & 46 deletions vm/primordial_soup.cc

This file was deleted.

26 changes: 0 additions & 26 deletions vm/primordial_soup.h

This file was deleted.

0 comments on commit 4286aa3

Please sign in to comment.