#include "root.h" #include "headers.h" #include #include "DOMJITIDLConvert.h" #include "DOMJITIDLType.h" #include "DOMJITIDLTypeFilter.h" #include "DOMJITHelpers.h" #include #include "JSDOMConvertBufferSource.h" using namespace JSC; using namespace WebCore; /* -- BEGIN DOMCall DEFINITIONS -- */ extern "C" JSC_DECLARE_HOST_FUNCTION(FFI__ptr__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(FFI__ptr__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, JSC::JSUint8Array*)); JSC_DEFINE_JIT_OPERATION(FFI__ptr__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg1)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return FFI__ptr__fastpath(lexicalGlobalObject, thisValue, arg1); } JSC_DEFINE_HOST_FUNCTION(FFI__ptr__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return FFI__ptr__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void FFI__ptr__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_ptr_signature( FFI__ptr__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecDoubleReal, JSC::SpecUint8Array ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 1, String("ptr"_s), FFI__ptr__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, FFI__ptr__slowpathWrapper, &DOMJIT_ptr_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "ptr"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__u8__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__u8__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__u8__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__u8__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__u8__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__u8__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__u8__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_u8_signature( Reader__u8__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt32Only, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("u8"_s), Reader__u8__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__u8__slowpathWrapper, &DOMJIT_u8_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "u8"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__u16__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__u16__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__u16__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__u16__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__u16__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__u16__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__u16__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_u16_signature( Reader__u16__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt32Only, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("u16"_s), Reader__u16__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__u16__slowpathWrapper, &DOMJIT_u16_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "u16"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__u32__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__u32__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__u32__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__u32__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__u32__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__u32__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__u32__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_u32_signature( Reader__u32__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt32Only, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("u32"_s), Reader__u32__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__u32__slowpathWrapper, &DOMJIT_u32_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "u32"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__ptr__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__ptr__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__ptr__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__ptr__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__ptr__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__ptr__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__ptr__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_ptr_signature( Reader__ptr__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt52Any, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("ptr"_s), Reader__ptr__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__ptr__slowpathWrapper, &DOMJIT_ptr_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "ptr"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__i8__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__i8__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__i8__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__i8__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__i8__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__i8__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__i8__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_i8_signature( Reader__i8__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt32Only, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("i8"_s), Reader__i8__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__i8__slowpathWrapper, &DOMJIT_i8_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "i8"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__i16__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__i16__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__i16__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__i16__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__i16__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__i16__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__i16__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_i16_signature( Reader__i16__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt32Only, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("i16"_s), Reader__i16__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__i16__slowpathWrapper, &DOMJIT_i16_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "i16"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__i32__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__i32__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__i32__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__i32__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__i32__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__i32__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__i32__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_i32_signature( Reader__i32__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt32Only, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("i32"_s), Reader__i32__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__i32__slowpathWrapper, &DOMJIT_i32_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "i32"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__i64__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__i64__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__i64__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__i64__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__i64__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__i64__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__i64__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_i64_signature( Reader__i64__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecHeapTop, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("i64"_s), Reader__i64__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__i64__slowpathWrapper, &DOMJIT_i64_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "i64"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__u64__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__u64__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__u64__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__u64__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__u64__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__u64__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__u64__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_u64_signature( Reader__u64__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecHeapTop, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("u64"_s), Reader__u64__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__u64__slowpathWrapper, &DOMJIT_u64_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "u64"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__intptr__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__intptr__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__intptr__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__intptr__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__intptr__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__intptr__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__intptr__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_intptr_signature( Reader__intptr__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecInt52Any, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("intptr"_s), Reader__intptr__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__intptr__slowpathWrapper, &DOMJIT_intptr_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "intptr"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__f32__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__f32__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__f32__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__f32__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__f32__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__f32__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__f32__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_f32_signature( Reader__f32__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecDoubleReal, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("f32"_s), Reader__f32__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__f32__slowpathWrapper, &DOMJIT_f32_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "f32"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Reader__f64__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Reader__f64__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t, int32_t)); JSC_DEFINE_JIT_OPERATION(Reader__f64__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, int64_t arg1, int32_t arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Reader__f64__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Reader__f64__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Reader__f64__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Reader__f64__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_f64_signature( Reader__f64__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecDoubleReal, JSC::SpecInt52Any, JSC::SpecInt32Only ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("f64"_s), Reader__f64__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Reader__f64__slowpathWrapper, &DOMJIT_f64_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "f64"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Crypto__getRandomValues__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Crypto__getRandomValues__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, JSC::JSUint8Array*)); JSC_DEFINE_JIT_OPERATION(Crypto__getRandomValues__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg1)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Crypto__getRandomValues__fastpath(lexicalGlobalObject, thisValue, arg1); } JSC_DEFINE_HOST_FUNCTION(Crypto__getRandomValues__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Crypto__getRandomValues__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Crypto__getRandomValues__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_getRandomValues_signature( Crypto__getRandomValues__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecHeapTop, JSC::SpecUint8Array ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 1, String("getRandomValues"_s), Crypto__getRandomValues__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Crypto__getRandomValues__slowpathWrapper, &DOMJIT_getRandomValues_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "getRandomValues"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Crypto__randomUUID__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Crypto__randomUUID__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue)); JSC_DEFINE_JIT_OPERATION(Crypto__randomUUID__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Crypto__randomUUID__fastpath(lexicalGlobalObject, thisValue); } JSC_DEFINE_HOST_FUNCTION(Crypto__randomUUID__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Crypto__randomUUID__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Crypto__randomUUID__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_randomUUID_signature( Crypto__randomUUID__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecString); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 0, String("randomUUID"_s), Crypto__randomUUID__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Crypto__randomUUID__slowpathWrapper, &DOMJIT_randomUUID_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "randomUUID"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } extern "C" JSC_DECLARE_HOST_FUNCTION(Crypto__timingSafeEqual__slowpathWrapper); extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(Crypto__timingSafeEqual__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, JSC::JSUint8Array*, JSC::JSUint8Array*)); JSC_DEFINE_JIT_OPERATION(Crypto__timingSafeEqual__fastpathWrapper, EncodedJSValue, (JSC::JSGlobalObject* lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg1, JSC::JSUint8Array* arg2)) { VM& vm = JSC::getVM(lexicalGlobalObject); IGNORE_WARNINGS_BEGIN("frame-address") CallFrame* callFrame = DECLARE_CALL_FRAME(vm); IGNORE_WARNINGS_END JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); return Crypto__timingSafeEqual__fastpath(lexicalGlobalObject, thisValue, arg1, arg2); } JSC_DEFINE_HOST_FUNCTION(Crypto__timingSafeEqual__slowpathWrapper, (JSC::JSGlobalObject *globalObject, JSC::CallFrame* frame)) { return Crypto__timingSafeEqual__slowpath(globalObject, JSValue::encode(frame->thisValue()), reinterpret_cast(frame->addressOfArgumentsStart()), frame->argumentCount()); } extern "C" void Crypto__timingSafeEqual__put(JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) { JSC::JSObject *thisObject = JSC::jsCast(JSC::JSValue::decode(value)); static const JSC::DOMJIT::Signature DOMJIT_timingSafeEqual_signature( Crypto__timingSafeEqual__fastpathWrapper, thisObject->classInfo(), JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), JSC::SpecHeapTop, JSC::SpecUint8Array, JSC::SpecUint8Array ); JSFunction* function = JSFunction::create( globalObject->vm(), globalObject, 2, String("timingSafeEqual"_s), Crypto__timingSafeEqual__slowpathWrapper, ImplementationVisibility::Public, NoIntrinsic, Crypto__timingSafeEqual__slowpathWrapper, &DOMJIT_timingSafeEqual_signature ); thisObject->putDirect( globalObject->vm(), Identifier::fromString(globalObject->vm(), "timingSafeEqual"_s), function, JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | 0 ); } /* -- END DOMCall DEFINITIONS-- */