Skip to content

Commit

Permalink
core, fest: support custom platform.
Browse files Browse the repository at this point in the history
  • Loading branch information
xicilion committed Sep 9, 2018
1 parent dfa60c8 commit 246e968
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 10 deletions.
2 changes: 2 additions & 0 deletions fibjs/include/fibjs.h
Expand Up @@ -12,6 +12,8 @@

namespace fibjs {

void init_coroutine();
void init_platform(v8::Platform* platform = NULL);
void run_gui();
void start(int32_t argc, char** argv, result_t (*main)(Isolate*));
result_t main_fiber(Isolate* isolate);
Expand Down
3 changes: 3 additions & 0 deletions fibjs/program/src/fibjs.cpp
Expand Up @@ -68,6 +68,9 @@ void main(int32_t argc, char** argv)
{
importModule();

init_coroutine();
init_platform();

start(argc, argv, main_fiber);
run_gui();
}
Expand Down
26 changes: 16 additions & 10 deletions fibjs/src/base/Runtime.cpp
Expand Up @@ -24,6 +24,7 @@
#include "v8_api.h"
#include "options.h"
#include "include/libplatform/libplatform.h"
#include "fibjs.h"

namespace fibjs {

Expand All @@ -40,19 +41,29 @@ result_t ifZipFile(exlib::string filename, bool& retVal);

exlib::string s_root;

static void init()
void init_coroutine()
{
::setlocale(LC_ALL, "");

int32_t cpus = 0;

process_base::cwd(s_root);

os_base::cpuNumbers(cpus);
if (cpus < 2)
cpus = 2;

exlib::Service::init(cpus + 1);
}

void init_platform(v8::Platform* platform)
{
if (platform == NULL)
platform = v8::platform::CreateDefaultPlatform();
v8::V8::InitializePlatform(platform);
v8::V8::Initialize();
}

static void init()
{
process_base::cwd(s_root);
::setlocale(LC_ALL, "");

init_date();
init_acThread();
Expand All @@ -64,11 +75,6 @@ static void init()
#endif

srand((unsigned int)time(0));

v8::Platform* platform = v8::platform::CreateDefaultPlatform();
v8::V8::InitializePlatform(platform);

v8::V8::Initialize();
}

void start(int32_t argc, char** argv, result_t (*main)(Isolate*))
Expand Down

0 comments on commit 246e968

Please sign in to comment.