MCPcopy Create free account
hub / github.com/Snapchat/Valdi / onInitialize

Method onInitialize

valdi/src/valdi/quickjs/QuickJSJavaScriptContext.cpp:130–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128
129 JS_FreeRuntime(_runtime);
130}
131
132void QuickJSJavaScriptContext::onInitialize(Valdi::JSExceptionTracker& exceptionTracker) {
133 auto guard = _threadAccessChecker.guard();
134 auto globalObject = getGlobalObject(exceptionTracker);
135 if (!exceptionTracker) {
136 return;
137 }
138
139 auto functionValue = getObjectProperty(globalObject.get(), "Function", exceptionTracker);
140
141 if (!exceptionTracker) {
142 return;
143 }
144
145 _functionPrototype = JS_GetPrototype(_context, fromValdiJSValue(functionValue.get()));
146
147 _int8ArrayCtor = getConstructorFromObject(globalObject.get(), "Int8Array", exceptionTracker);
148 if (!exceptionTracker) {
149 return;
150 }
151 _int16ArrayCtor = getConstructorFromObject(globalObject.get(), "Int16Array", exceptionTracker);
152 if (!exceptionTracker) {
153 return;
154 }
155 _int32ArrayCtor = getConstructorFromObject(globalObject.get(), "Int32Array", exceptionTracker);
156 if (!exceptionTracker) {
157 return;
158 }
159 _uint8ArrayCtor = getConstructorFromObject(globalObject.get(), "Uint8Array", exceptionTracker);
160 if (!exceptionTracker) {
161 return;
162 }
163 _uint8ClampedArrayCtor = getConstructorFromObject(globalObject.get(), "Uint8ClampedArray", exceptionTracker);
164 if (!exceptionTracker) {
165 return;
166 }
167 _uint16ArrayCtor = getConstructorFromObject(globalObject.get(), "Uint16Array", exceptionTracker);
168 if (!exceptionTracker) {
169 return;
170 }
171 _uint32ArrayCtor = getConstructorFromObject(globalObject.get(), "Uint32Array", exceptionTracker);
172 if (!exceptionTracker) {
173 return;
174 }
175 _float32ArrayCtor = getConstructorFromObject(globalObject.get(), "Float32Array", exceptionTracker);
176 if (!exceptionTracker) {
177 return;
178 }
179 _float64ArrayCtor = getConstructorFromObject(globalObject.get(), "Float64Array", exceptionTracker);
180 if (!exceptionTracker) {
181 return;
182 }
183
184 _functionClassID = initializeClass(getBridgedFunctionClassDef(), exceptionTracker);
185 if (!exceptionTracker) {
186 return;
187 }

Callers

nothing calls this directly

Calls 8

getWrappedObjectClassDefFunction · 0.85
JS_DupValueFunction · 0.85
guardMethod · 0.80
unsafeReleaseValueMethod · 0.80
fromValdiJSValueFunction · 0.70
getMethod · 0.65

Tested by

no test coverage detected