forked from rogchap/v8go
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
simple test to make sure v8 cgo is working
- Loading branch information
Showing
27 changed files
with
14,902 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,6 @@ | ||
*swp | ||
.DS_Store | ||
|
||
build | ||
.cipd | ||
.gclient_entries |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# v8go provides an API to v8 Javascript Engine |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package v8go | ||
|
||
// #include <stdlib.h> | ||
// | ||
// #cgo CXXFLAGS: -fno-rtti -fpic -std=c++11 -I${SRCDIR}/deps/include | ||
// #cgo LDFLAGS: -pthread -lv8 | ||
// #cgo darwin LDFLAGS: -L${SRCDIR}/deps/darwin-x86_64 | ||
import "C" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule depot_tools
updated
from 217195 to ee8d9c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// Copyright 2016 the V8 project authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
#ifndef V8_LIBPLATFORM_LIBPLATFORM_EXPORT_H_ | ||
#define V8_LIBPLATFORM_LIBPLATFORM_EXPORT_H_ | ||
|
||
#if defined(_WIN32) | ||
|
||
#ifdef BUILDING_V8_PLATFORM_SHARED | ||
#define V8_PLATFORM_EXPORT __declspec(dllexport) | ||
#elif USING_V8_PLATFORM_SHARED | ||
#define V8_PLATFORM_EXPORT __declspec(dllimport) | ||
#else | ||
#define V8_PLATFORM_EXPORT | ||
#endif // BUILDING_V8_PLATFORM_SHARED | ||
|
||
#else // defined(_WIN32) | ||
|
||
// Setup for Linux shared library export. | ||
#ifdef BUILDING_V8_PLATFORM_SHARED | ||
#define V8_PLATFORM_EXPORT __attribute__((visibility("default"))) | ||
#else | ||
#define V8_PLATFORM_EXPORT | ||
#endif | ||
|
||
#endif // defined(_WIN32) | ||
|
||
#endif // V8_LIBPLATFORM_LIBPLATFORM_EXPORT_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
// Copyright 2014 the V8 project authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
#ifndef V8_LIBPLATFORM_LIBPLATFORM_H_ | ||
#define V8_LIBPLATFORM_LIBPLATFORM_H_ | ||
|
||
#include "libplatform/libplatform-export.h" | ||
#include "libplatform/v8-tracing.h" | ||
#include "v8-platform.h" // NOLINT(build/include) | ||
#include "v8config.h" // NOLINT(build/include) | ||
|
||
namespace v8 { | ||
namespace platform { | ||
|
||
enum class IdleTaskSupport { kDisabled, kEnabled }; | ||
enum class InProcessStackDumping { kDisabled, kEnabled }; | ||
|
||
enum class MessageLoopBehavior : bool { | ||
kDoNotWait = false, | ||
kWaitForWork = true | ||
}; | ||
|
||
/** | ||
* Returns a new instance of the default v8::Platform implementation. | ||
* | ||
* The caller will take ownership of the returned pointer. |thread_pool_size| | ||
* is the number of worker threads to allocate for background jobs. If a value | ||
* of zero is passed, a suitable default based on the current number of | ||
* processors online will be chosen. | ||
* If |idle_task_support| is enabled then the platform will accept idle | ||
* tasks (IdleTasksEnabled will return true) and will rely on the embedder | ||
* calling v8::platform::RunIdleTasks to process the idle tasks. | ||
* If |tracing_controller| is nullptr, the default platform will create a | ||
* v8::platform::TracingController instance and use it. | ||
*/ | ||
V8_PLATFORM_EXPORT std::unique_ptr<v8::Platform> NewDefaultPlatform( | ||
int thread_pool_size = 0, | ||
IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled, | ||
InProcessStackDumping in_process_stack_dumping = | ||
InProcessStackDumping::kDisabled, | ||
std::unique_ptr<v8::TracingController> tracing_controller = {}); | ||
|
||
/** | ||
* Pumps the message loop for the given isolate. | ||
* | ||
* The caller has to make sure that this is called from the right thread. | ||
* Returns true if a task was executed, and false otherwise. Unless requested | ||
* through the |behavior| parameter, this call does not block if no task is | ||
* pending. The |platform| has to be created using |NewDefaultPlatform|. | ||
*/ | ||
V8_PLATFORM_EXPORT bool PumpMessageLoop( | ||
v8::Platform* platform, v8::Isolate* isolate, | ||
MessageLoopBehavior behavior = MessageLoopBehavior::kDoNotWait); | ||
|
||
/** | ||
* Runs pending idle tasks for at most |idle_time_in_seconds| seconds. | ||
* | ||
* The caller has to make sure that this is called from the right thread. | ||
* This call does not block if no task is pending. The |platform| has to be | ||
* created using |NewDefaultPlatform|. | ||
*/ | ||
V8_PLATFORM_EXPORT void RunIdleTasks(v8::Platform* platform, | ||
v8::Isolate* isolate, | ||
double idle_time_in_seconds); | ||
|
||
/** | ||
* Attempts to set the tracing controller for the given platform. | ||
* | ||
* The |platform| has to be created using |NewDefaultPlatform|. | ||
* | ||
*/ | ||
V8_PLATFORM_EXPORT V8_DEPRECATE_SOON( | ||
"Access the DefaultPlatform directly", | ||
void SetTracingController( | ||
v8::Platform* platform, | ||
v8::platform::tracing::TracingController* tracing_controller)); | ||
|
||
} // namespace platform | ||
} // namespace v8 | ||
|
||
#endif // V8_LIBPLATFORM_LIBPLATFORM_H_ |
Oops, something went wrong.