Skip to content

Commit 5970046

Browse files
committed
graal-node.js modifications of V8 API must be V8_EXPORTed (on macos).
1 parent a5036ee commit 5970046

File tree

4 files changed

+12
-5
lines changed

4 files changed

+12
-5
lines changed

graal-nodejs/deps/v8/include/v8-function-callback.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ Isolate* ReturnValue<T>::GetIsolate() const {
447447

448448
template <typename T>
449449
Local<Value> ReturnValue<T>::Get() const {
450-
return internal::CorrectReturnValue<Local<Value>>(GetIsolate(), *value_);
450+
return Local<Value>::New(GetIsolate(), internal::CorrectReturnValue(GetIsolate(), *value_));
451451
}
452452

453453
template <typename T>

graal-nodejs/deps/v8/include/v8-internal.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class Array;
2424
class Context;
2525
class Data;
2626
class Isolate;
27+
class Value;
2728

2829
namespace internal {
2930

@@ -1399,8 +1400,8 @@ class HandleHelper final {
13991400
V8_EXPORT void VerifyHandleIsNonEmpty(bool is_empty);
14001401

14011402
// graal-node.js extensions
1402-
void SaveReturnValue(v8::Isolate* isolate, double value);
1403-
template <typename T> T CorrectReturnValue(v8::Isolate* isolate, Address value);
1403+
V8_EXPORT void SaveReturnValue(v8::Isolate* isolate, double value);
1404+
V8_EXPORT v8::Value* CorrectReturnValue(v8::Isolate* isolate, Address value);
14041405

14051406
} // namespace internal
14061407
} // namespace v8

graal-nodejs/deps/v8/src/graal/graal_handle_content.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,13 @@ typedef _jobject *jobject;
6363
#endif // BUILDING_V8_SHARED
6464

6565
#else // _WIN32
66+
67+
#ifdef BUILDING_V8_SHARED
68+
# define V8_EXPORT __attribute__ ((visibility("default")))
69+
#else
6670
# define V8_EXPORT
71+
#endif // BUILDING_V8_SHARED
72+
6773
#endif // _WIN32
6874

6975
class V8_EXPORT GraalHandleContent {

graal-nodejs/deps/v8/src/graal/v8.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ namespace v8 {
140140
reinterpret_cast<GraalIsolate*> (isolate)->SaveReturnValue(value);
141141
}
142142

143-
template<> v8::Local<v8::Value> CorrectReturnValue<v8::Local<v8::Value>>(v8::Isolate* isolate, v8::internal::Address value) {
144-
return reinterpret_cast<GraalIsolate*> (isolate)->CorrectReturnValue(value);
143+
v8::Value* CorrectReturnValue(v8::Isolate* isolate, v8::internal::Address value) {
144+
return *(reinterpret_cast<GraalIsolate*> (isolate)->CorrectReturnValue(value));
145145
}
146146

147147
namespace wasm {

0 commit comments

Comments
 (0)