mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 874643 - Declare CallGetIntrinsicValue MIR to be unsafe r=shu
This commit is contained in:
parent
ee46ea7758
commit
59421789f3
@ -1494,26 +1494,8 @@ static const VMFunction GetIntrinsicValueInfo =
|
||||
bool
|
||||
CodeGenerator::visitCallGetIntrinsicValue(LCallGetIntrinsicValue *lir)
|
||||
{
|
||||
// When compiling parallel kernels, always bail.
|
||||
switch (gen->info().executionMode()) {
|
||||
case SequentialExecution: {
|
||||
pushArg(ImmGCPtr(lir->mir()->name()));
|
||||
return callVM(GetIntrinsicValueInfo, lir);
|
||||
}
|
||||
|
||||
case ParallelExecution: {
|
||||
OutOfLineParallelAbort *bail = oolParallelAbort(ParallelBailoutAccessToIntrinsic, lir);
|
||||
if (!bail)
|
||||
return false;
|
||||
|
||||
masm.jump(bail->entry());
|
||||
return true;
|
||||
}
|
||||
|
||||
default:
|
||||
JS_NOT_REACHED("Bad execution mode");
|
||||
return false;
|
||||
}
|
||||
pushArg(ImmGCPtr(lir->mir()->name()));
|
||||
return callVM(GetIntrinsicValueInfo, lir);
|
||||
}
|
||||
|
||||
typedef bool (*InvokeFunctionFn)(JSContext *, HandleFunction, uint32_t, Value *, Value *);
|
||||
|
@ -225,7 +225,7 @@ class ParallelArrayVisitor : public MInstructionVisitor
|
||||
WRITE_GUARDED_OP(StoreFixedSlot, object)
|
||||
UNSAFE_OP(CallGetProperty)
|
||||
UNSAFE_OP(GetNameCache)
|
||||
SAFE_OP(CallGetIntrinsicValue) // Bails in parallel mode
|
||||
UNSAFE_OP(CallGetIntrinsicValue)
|
||||
UNSAFE_OP(CallsiteCloneCache)
|
||||
UNSAFE_OP(CallGetElement)
|
||||
UNSAFE_OP(CallSetElement)
|
||||
|
Loading…
Reference in New Issue
Block a user