Skip to content

Espresso, NodeJS 16.8.0 #61

@prepare

Description

@prepare

file src/node_main_instance.cc

about line 14

#if HAVE_INSPECTOR
#include "inspector/worker_inspector.h"  // ParentInspectorHandle
#endif

//////////////////////////////////
//#espresso ,#1
#include "../src/libespresso/bridge2.h"

void DoEngineSetupCallback(JsEngine* engine, JsContext* jsContext);
void DoEngineClosingCallback(JsEngine* engine,
                             JsContext* jsContext,
                             int exitCode);
//////////////////////////////////
namespace node {

using v8::Context;
using v8::HandleScope;
 

patch 1: src/node_main_instance.cc


about line 151

 void NodeMainInstance::Run(int* exit_code, Environment* env) {
  if (*exit_code == 0) {
    /////////////////////////////
    //#espresso ,#2

    JsEngine* jsEngine = JsEngine::NewFromExistingIsolate(isolate_);
    v8::Persistent<Context>* pcontext =
        new v8::Persistent<Context>(isolate_, env->context());
    JsContext* jscontext =
        JsContext::NewFromExistingContext(0, jsEngine, pcontext);
    DoEngineSetupCallback(jsEngine, jscontext);

    ////////////////////////////////

    LoadEnvironment(env, StartExecutionCallback{});

    *exit_code = SpinEventLoop(env).FromMaybe(1);

    //////////////////////////////////
    ////#espresso ,#3
    DoEngineClosingCallback(jsEngine, jscontext, *exit_code);
    ///////////////////////////////
  }

  ResetStdio();

patch 2&3: src/node_main_instance.cc


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions