mirror of
https://github.com/denoland/deno.git
synced 2024-11-28 16:20:57 -05:00
perf(core): use opcall() directly (#12310)
Instead of the wrapper dispatch() func, also now forbids passing opIds to opSync()/opAsync() callers must always pass names
This commit is contained in:
parent
aeab471bea
commit
c932ecb0a8
2 changed files with 3 additions and 8 deletions
|
@ -97,11 +97,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function dispatch(opName, promiseId, control, zeroCopy) {
|
|
||||||
const opId = typeof opName === "string" ? opsCache[opName] : opName;
|
|
||||||
return opcall(opId, promiseId, control, zeroCopy);
|
|
||||||
}
|
|
||||||
|
|
||||||
function registerErrorClass(className, errorClass) {
|
function registerErrorClass(className, errorClass) {
|
||||||
registerErrorBuilder(className, (msg) => new errorClass(msg));
|
registerErrorBuilder(className, (msg) => new errorClass(msg));
|
||||||
}
|
}
|
||||||
|
@ -130,14 +125,14 @@
|
||||||
|
|
||||||
function opAsync(opName, arg1 = null, arg2 = null) {
|
function opAsync(opName, arg1 = null, arg2 = null) {
|
||||||
const promiseId = nextPromiseId++;
|
const promiseId = nextPromiseId++;
|
||||||
const maybeError = dispatch(opName, promiseId, arg1, arg2);
|
const maybeError = opcall(opsCache[opName], promiseId, arg1, arg2);
|
||||||
// Handle sync error (e.g: error parsing args)
|
// Handle sync error (e.g: error parsing args)
|
||||||
if (maybeError) return unwrapOpResult(maybeError);
|
if (maybeError) return unwrapOpResult(maybeError);
|
||||||
return PromisePrototypeThen(setPromise(promiseId), unwrapOpResult);
|
return PromisePrototypeThen(setPromise(promiseId), unwrapOpResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
function opSync(opName, arg1 = null, arg2 = null) {
|
function opSync(opName, arg1 = null, arg2 = null) {
|
||||||
return unwrapOpResult(dispatch(opName, null, arg1, arg2));
|
return unwrapOpResult(opcall(opsCache[opName], null, arg1, arg2));
|
||||||
}
|
}
|
||||||
|
|
||||||
function resources() {
|
function resources() {
|
||||||
|
|
|
@ -1825,7 +1825,7 @@ pub mod tests {
|
||||||
r#"
|
r#"
|
||||||
let thrown;
|
let thrown;
|
||||||
try {
|
try {
|
||||||
Deno.core.opSync(100);
|
Deno.core.opcall(100, null, null, null);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
thrown = e;
|
thrown = e;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue