mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 07:02:13 +00:00
Don't reset nested unchecked contexts, fixes #515
This commit is contained in:
parent
ed97672a8c
commit
2945af6557
@ -2936,9 +2936,10 @@ export function compileCall(
|
|||||||
return module.createUnreachable();
|
return module.createUnreachable();
|
||||||
}
|
}
|
||||||
let flow = compiler.currentFlow;
|
let flow = compiler.currentFlow;
|
||||||
|
let alreadyUnchecked = flow.is(FlowFlags.UNCHECKED_CONTEXT);
|
||||||
flow.set(FlowFlags.UNCHECKED_CONTEXT);
|
flow.set(FlowFlags.UNCHECKED_CONTEXT);
|
||||||
ret = compiler.compileExpressionRetainType(operands[0], contextualType, WrapMode.NONE);
|
ret = compiler.compileExpressionRetainType(operands[0], contextualType, WrapMode.NONE);
|
||||||
flow.unset(FlowFlags.UNCHECKED_CONTEXT);
|
if (!alreadyUnchecked) flow.unset(FlowFlags.UNCHECKED_CONTEXT);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
case BuiltinSymbols.call_indirect: { // call_indirect<T?>(target: Function | u32, ...args: *[]) -> T
|
case BuiltinSymbols.call_indirect: { // call_indirect<T?>(target: Function | u32, ...args: *[]) -> T
|
||||||
|
Loading…
x
Reference in New Issue
Block a user