Skip to content

Commit ae683da

Browse files
committed
Implementation of Value::IsWasmMemoryObject().
1 parent 21798e6 commit ae683da

File tree

7 files changed

+15
-2
lines changed

7 files changed

+15
-2
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,7 @@ GraalIsolate::GraalIsolate(JavaVM* jvm, JNIEnv* env, v8::Isolate::CreateParams c
643643
ACCESS_METHOD(GraalAccessMethod::value_is_generator_function, "valueIsGeneratorFunction", "(Ljava/lang/Object;)Z")
644644
ACCESS_METHOD(GraalAccessMethod::value_is_generator_object, "valueIsGeneratorObject", "(Ljava/lang/Object;)Z")
645645
ACCESS_METHOD(GraalAccessMethod::value_is_module_namespace_object, "valueIsModuleNamespaceObject", "(Ljava/lang/Object;)Z")
646+
ACCESS_METHOD(GraalAccessMethod::value_is_wasm_memory_object, "valueIsWasmMemoryObject", "(Ljava/lang/Object;)Z")
646647
ACCESS_METHOD(GraalAccessMethod::value_equals, "valueEquals", "(Ljava/lang/Object;Ljava/lang/Object;)Z")
647648
ACCESS_METHOD(GraalAccessMethod::value_strict_equals, "valueStrictEquals", "(Ljava/lang/Object;Ljava/lang/Object;)Z")
648649
ACCESS_METHOD(GraalAccessMethod::value_instance_of, "valueInstanceOf", "(Ljava/lang/Object;Ljava/lang/Object;)Z")

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ enum GraalAccessMethod {
125125
value_is_generator_function,
126126
value_is_generator_object,
127127
value_is_module_namespace_object,
128+
value_is_wasm_memory_object,
128129
value_equals,
129130
value_strict_equals,
130131
value_instance_of,

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,11 @@ bool GraalValue::IsModuleNamespaceObject() const {
303303
return result;
304304
}
305305

306+
bool GraalValue::IsWasmMemoryObject() const {
307+
JNI_CALL(jboolean, result, Isolate(), GraalAccessMethod::value_is_wasm_memory_object, Boolean, GetJavaObject());
308+
return result;
309+
}
310+
306311
int32_t GraalValue::Int32Value() const {
307312
JNI_CALL(jint, result, Isolate(), GraalAccessMethod::value_int32_value, Int, GetJavaObject());
308313
return result;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ class GraalValue : public GraalData {
153153
bool IsGeneratorFunction() const;
154154
bool IsGeneratorObject() const;
155155
bool IsModuleNamespaceObject() const;
156+
bool IsWasmMemoryObject() const;
156157
int32_t Int32Value() const;
157158
uint32_t Uint32Value() const;
158159
int64_t IntegerValue() const;

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3004,8 +3004,7 @@ namespace v8 {
30043004
}
30053005

30063006
bool Value::IsWasmMemoryObject() const {
3007-
TRACE
3008-
return false;
3007+
return reinterpret_cast<const GraalValue*> (this)->IsWasmMemoryObject();
30093008
}
30103009

30113010
Local<ArrayBuffer> WasmMemoryObject::Buffer() {

graal-nodejs/mx.graal-nodejs/com.oracle.truffle.trufflenode/src/com/oracle/truffle/trufflenode/GraalJSAccess.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@
240240
import com.oracle.truffle.js.runtime.builtins.JSUncheckedProxyHandler;
241241
import com.oracle.truffle.js.runtime.builtins.JSWeakMap;
242242
import com.oracle.truffle.js.runtime.builtins.JSWeakSet;
243+
import com.oracle.truffle.js.runtime.builtins.wasm.JSWebAssemblyMemoryObject;
243244
import com.oracle.truffle.js.runtime.interop.JSInteropUtil;
244245
import com.oracle.truffle.js.runtime.objects.JSAttributes;
245246
import com.oracle.truffle.js.runtime.objects.JSCopyableObject;
@@ -798,6 +799,10 @@ public boolean valueIsModuleNamespaceObject(Object object) {
798799
return JSModuleNamespace.isJSModuleNamespace(object);
799800
}
800801

802+
public boolean valueIsWasmMemoryObject(Object object) {
803+
return (object instanceof JSWebAssemblyMemoryObject);
804+
}
805+
801806
public boolean valueEquals(Object left, Object right) {
802807
return JSRuntime.equal(left, right);
803808
}

graal-nodejs/mx.graal-nodejs/com.oracle.truffle.trufflenode/src/svmnodejs.jniconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@
282282
{ "name": "valueIsSharedArrayBuffer" },
283283
{ "name": "valueIsStringObject" },
284284
{ "name": "valueIsSymbolObject" },
285+
{ "name": "valueIsWasmMemoryObject" },
285286
{ "name": "valueIsWeakMap" },
286287
{ "name": "valueIsWeakSet" },
287288
{ "name": "valueSerializerNew" },

0 commit comments

Comments
 (0)