Add reference types R32 and R64
-Add resumable_trap, safepoint, isnull, and null instructions -Add Stackmap struct and StackmapSink trait Co-authored-by: Mir Ahmed <mirahmed753@gmail.com> Co-authored-by: Dan Gohman <sunfish@mozilla.com>
This commit is contained in:
@@ -834,6 +834,12 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
|
||||
Operator::F32Le | Operator::F64Le => {
|
||||
translate_fcmp(FloatCC::LessThanOrEqual, builder, state)
|
||||
}
|
||||
Operator::RefNull => state.push1(builder.ins().null(environ.reference_type())),
|
||||
Operator::RefIsNull => {
|
||||
let arg = state.pop1();
|
||||
let val = builder.ins().is_null(arg);
|
||||
state.push1(val);
|
||||
}
|
||||
Operator::Wake { .. }
|
||||
| Operator::I32Wait { .. }
|
||||
| Operator::I64Wait { .. }
|
||||
@@ -902,9 +908,6 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
|
||||
| Operator::I64AtomicRmw32UCmpxchg { .. } => {
|
||||
wasm_unsupported!("proposed thread operator {:?}", op);
|
||||
}
|
||||
Operator::RefNull | Operator::RefIsNull { .. } => {
|
||||
wasm_unsupported!("proposed reference-type operator {:?}", op);
|
||||
}
|
||||
Operator::MemoryInit { .. }
|
||||
| Operator::DataDrop { .. }
|
||||
| Operator::MemoryCopy
|
||||
|
||||
Reference in New Issue
Block a user