Lines Matching refs:wasm
49 const Operator* UnsupportedOpcode(wasm::WasmOpcode opcode) { in UnsupportedOpcode()
50 if (wasm::WasmOpcodes::IsSupported(opcode)) { in UnsupportedOpcode()
53 wasm::WasmOpcodes::OpcodeName(opcode)); in UnsupportedOpcode()
56 wasm::WasmOpcodes::OpcodeName(opcode)); in UnsupportedOpcode()
194 wasm::ModuleEnv* module = builder_->module_; in BuildTrapCode()
233 case wasm::kAstI32: in BuildTrapCode()
236 case wasm::kAstI64: in BuildTrapCode()
239 case wasm::kAstF32: in BuildTrapCode()
242 case wasm::kAstF64: in BuildTrapCode()
263 wasm::FunctionSig* function_signature) in WasmGraphBuilder()
290 Node* WasmGraphBuilder::Param(unsigned index, wasm::LocalType type) { in Param()
344 Node* WasmGraphBuilder::Phi(wasm::LocalType type, unsigned count, Node** vals, in Phi()
376 Node* WasmGraphBuilder::Binop(wasm::WasmOpcode opcode, Node* left, in Binop()
381 case wasm::kExprI32Add: in Binop()
384 case wasm::kExprI32Sub: in Binop()
387 case wasm::kExprI32Mul: in Binop()
390 case wasm::kExprI32DivS: { in Binop()
408 case wasm::kExprI32DivU: in Binop()
412 case wasm::kExprI32RemS: { in Binop()
423 case wasm::kExprI32RemU: in Binop()
427 case wasm::kExprI32And: in Binop()
430 case wasm::kExprI32Ior: in Binop()
433 case wasm::kExprI32Xor: in Binop()
436 case wasm::kExprI32Shl: in Binop()
439 case wasm::kExprI32ShrU: in Binop()
442 case wasm::kExprI32ShrS: in Binop()
445 case wasm::kExprI32Eq: in Binop()
448 case wasm::kExprI32Ne: in Binop()
449 return Invert(Binop(wasm::kExprI32Eq, left, right)); in Binop()
450 case wasm::kExprI32LtS: in Binop()
453 case wasm::kExprI32LeS: in Binop()
456 case wasm::kExprI32LtU: in Binop()
459 case wasm::kExprI32LeU: in Binop()
462 case wasm::kExprI32GtS: in Binop()
466 case wasm::kExprI32GeS: in Binop()
470 case wasm::kExprI32GtU: in Binop()
474 case wasm::kExprI32GeU: in Binop()
481 case wasm::kExprI64Add: in Binop()
484 case wasm::kExprI64Sub: in Binop()
487 case wasm::kExprI64Mul: in Binop()
490 case wasm::kExprI64DivS: { in Binop()
509 case wasm::kExprI64DivU: in Binop()
513 case wasm::kExprI64RemS: { in Binop()
524 case wasm::kExprI64RemU: in Binop()
528 case wasm::kExprI64And: in Binop()
531 case wasm::kExprI64Ior: in Binop()
534 case wasm::kExprI64Xor: in Binop()
537 case wasm::kExprI64Shl: in Binop()
540 case wasm::kExprI64ShrU: in Binop()
543 case wasm::kExprI64ShrS: in Binop()
546 case wasm::kExprI64Eq: in Binop()
549 case wasm::kExprI64Ne: in Binop()
550 return Invert(Binop(wasm::kExprI64Eq, left, right)); in Binop()
551 case wasm::kExprI64LtS: in Binop()
554 case wasm::kExprI64LeS: in Binop()
557 case wasm::kExprI64LtU: in Binop()
560 case wasm::kExprI64LeU: in Binop()
563 case wasm::kExprI64GtS: in Binop()
567 case wasm::kExprI64GeS: in Binop()
571 case wasm::kExprI64GtU: in Binop()
575 case wasm::kExprI64GeU: in Binop()
581 case wasm::kExprF32CopySign: in Binop()
583 case wasm::kExprF64CopySign: in Binop()
585 case wasm::kExprF32Add: in Binop()
588 case wasm::kExprF32Sub: in Binop()
591 case wasm::kExprF32Mul: in Binop()
594 case wasm::kExprF32Div: in Binop()
597 case wasm::kExprF32Eq: in Binop()
600 case wasm::kExprF32Ne: in Binop()
601 return Invert(Binop(wasm::kExprF32Eq, left, right)); in Binop()
602 case wasm::kExprF32Lt: in Binop()
605 case wasm::kExprF32Ge: in Binop()
609 case wasm::kExprF32Gt: in Binop()
613 case wasm::kExprF32Le: in Binop()
616 case wasm::kExprF64Add: in Binop()
619 case wasm::kExprF64Sub: in Binop()
622 case wasm::kExprF64Mul: in Binop()
625 case wasm::kExprF64Div: in Binop()
628 case wasm::kExprF64Eq: in Binop()
631 case wasm::kExprF64Ne: in Binop()
632 return Invert(Binop(wasm::kExprF64Eq, left, right)); in Binop()
633 case wasm::kExprF64Lt: in Binop()
636 case wasm::kExprF64Le: in Binop()
639 case wasm::kExprF64Gt: in Binop()
643 case wasm::kExprF64Ge: in Binop()
647 case wasm::kExprF32Min: in Binop()
649 case wasm::kExprF64Min: in Binop()
651 case wasm::kExprF32Max: in Binop()
653 case wasm::kExprF64Max: in Binop()
662 Node* WasmGraphBuilder::Unop(wasm::WasmOpcode opcode, Node* input) { in Unop()
666 case wasm::kExprBoolNot: in Unop()
669 case wasm::kExprF32Abs: in Unop()
672 case wasm::kExprF32Neg: in Unop()
674 case wasm::kExprF32Sqrt: in Unop()
677 case wasm::kExprF64Abs: in Unop()
680 case wasm::kExprF64Neg: in Unop()
682 case wasm::kExprF64Sqrt: in Unop()
685 case wasm::kExprI32SConvertF64: in Unop()
687 case wasm::kExprI32UConvertF64: in Unop()
689 case wasm::kExprF32ConvertF64: in Unop()
692 case wasm::kExprF64SConvertI32: in Unop()
695 case wasm::kExprF64UConvertI32: in Unop()
698 case wasm::kExprF32SConvertI32: in Unop()
703 case wasm::kExprF32UConvertI32: in Unop()
708 case wasm::kExprI32SConvertF32: in Unop()
710 case wasm::kExprI32UConvertF32: in Unop()
712 case wasm::kExprF64ConvertF32: in Unop()
715 case wasm::kExprF32ReinterpretI32: in Unop()
718 case wasm::kExprI32ReinterpretF32: in Unop()
721 case wasm::kExprI32Clz: in Unop()
724 case wasm::kExprI32Ctz: { in Unop()
732 case wasm::kExprI32Popcnt: { in Unop()
740 case wasm::kExprF32Floor: { in Unop()
749 case wasm::kExprF32Ceil: { in Unop()
758 case wasm::kExprF32Trunc: { in Unop()
767 case wasm::kExprF32NearestInt: { in Unop()
776 case wasm::kExprF64Floor: { in Unop()
785 case wasm::kExprF64Ceil: { in Unop()
794 case wasm::kExprF64Trunc: { in Unop()
803 case wasm::kExprF64NearestInt: { in Unop()
816 case wasm::kExprI32ConvertI64: in Unop()
819 case wasm::kExprI64SConvertI32: in Unop()
822 case wasm::kExprI64UConvertI32: in Unop()
825 case wasm::kExprF32SConvertI64: in Unop()
828 case wasm::kExprF32UConvertI64: in Unop()
831 case wasm::kExprF64SConvertI64: in Unop()
834 case wasm::kExprF64UConvertI64: in Unop()
837 case wasm::kExprI64SConvertF32: { in Unop()
846 case wasm::kExprI64SConvertF64: { in Unop()
855 case wasm::kExprI64UConvertF32: { in Unop()
864 case wasm::kExprI64UConvertF64: { in Unop()
873 case wasm::kExprF64ReinterpretI64: in Unop()
876 case wasm::kExprI64ReinterpretF64: in Unop()
879 case wasm::kExprI64Clz: in Unop()
882 case wasm::kExprI64Ctz: { in Unop()
890 case wasm::kExprI64Popcnt: { in Unop()
982 Unop(wasm::kExprF32ReinterpretI32, in BuildF32Neg()
983 Binop(wasm::kExprI32Xor, Unop(wasm::kExprI32ReinterpretF32, input), in BuildF32Neg()
993 Unop(wasm::kExprF64ReinterpretI64, in BuildF64Neg()
994 Binop(wasm::kExprI64Xor, Unop(wasm::kExprI64ReinterpretF64, input), in BuildF64Neg()
1002 Node* new_high_word = Binop(wasm::kExprI32Xor, old_high_word, in BuildF64Neg()
1012 wasm::kExprF32ReinterpretI32, in BuildF32CopySign()
1013 Binop(wasm::kExprI32Ior, in BuildF32CopySign()
1014 Binop(wasm::kExprI32And, Unop(wasm::kExprI32ReinterpretF32, left), in BuildF32CopySign()
1016 Binop(wasm::kExprI32And, Unop(wasm::kExprI32ReinterpretF32, right), in BuildF32CopySign()
1026 wasm::kExprF64ReinterpretI64, in BuildF64CopySign()
1027 Binop(wasm::kExprI64Ior, in BuildF64CopySign()
1028 Binop(wasm::kExprI64And, Unop(wasm::kExprI64ReinterpretF64, left), in BuildF64CopySign()
1030 Binop(wasm::kExprI64And, Unop(wasm::kExprI64ReinterpretF64, right), in BuildF64CopySign()
1042 Binop(wasm::kExprI32Ior, Binop(wasm::kExprI32And, high_word_left, in BuildF64CopySign()
1044 Binop(wasm::kExprI32And, high_word_right, in BuildF64CopySign()
1054 Binop(wasm::kExprF32Le, left, right)); in BuildF32Min()
1057 Binop(wasm::kExprF32Lt, right, left)); in BuildF32Min()
1060 Binop(wasm::kExprF32Eq, left, left)); in BuildF32Min()
1063 wasm::kAstF32, left, in BuildF32Min()
1064 right_lt_left.Phi(wasm::kAstF32, right, in BuildF32Min()
1065 left_is_not_nan.Phi(wasm::kAstF32, right, left))); in BuildF32Min()
1071 Binop(wasm::kExprF32Ge, left, right)); in BuildF32Max()
1074 Binop(wasm::kExprF32Gt, right, left)); in BuildF32Max()
1077 Binop(wasm::kExprF32Eq, left, left)); in BuildF32Max()
1080 wasm::kAstF32, left, in BuildF32Max()
1081 right_gt_left.Phi(wasm::kAstF32, right, in BuildF32Max()
1082 left_is_not_nan.Phi(wasm::kAstF32, right, left))); in BuildF32Max()
1088 Binop(wasm::kExprF64Le, left, right)); in BuildF64Min()
1091 Binop(wasm::kExprF64Lt, right, left)); in BuildF64Min()
1094 Binop(wasm::kExprF64Eq, left, left)); in BuildF64Min()
1097 wasm::kAstF64, left, in BuildF64Min()
1098 right_lt_left.Phi(wasm::kAstF64, right, in BuildF64Min()
1099 left_is_not_nan.Phi(wasm::kAstF64, right, left))); in BuildF64Min()
1105 Binop(wasm::kExprF64Ge, left, right)); in BuildF64Max()
1108 Binop(wasm::kExprF64Lt, right, left)); in BuildF64Max()
1111 Binop(wasm::kExprF64Eq, left, left)); in BuildF64Max()
1114 wasm::kAstF64, left, in BuildF64Max()
1115 right_gt_left.Phi(wasm::kAstF64, right, in BuildF64Max()
1116 left_is_not_nan.Phi(wasm::kAstF64, right, left))); in BuildF64Max()
1123 Node* trunc = Unop(wasm::kExprF32Trunc, input); in BuildI32SConvertF32()
1130 Node* check = Unop(wasm::kExprF64SConvertI32, result); in BuildI32SConvertF32()
1131 Node* overflow = Binop(wasm::kExprF64Ne, f64_trunc, check); in BuildI32SConvertF32()
1141 Node* trunc = Unop(wasm::kExprF64Trunc, input); in BuildI32SConvertF64()
1146 Node* check = Unop(wasm::kExprF64SConvertI32, result); in BuildI32SConvertF64()
1147 Node* overflow = Binop(wasm::kExprF64Ne, trunc, check); in BuildI32SConvertF64()
1157 Node* trunc = Unop(wasm::kExprF32Trunc, input); in BuildI32UConvertF32()
1164 Node* check = Unop(wasm::kExprF64UConvertI32, result); in BuildI32UConvertF32()
1165 Node* overflow = Binop(wasm::kExprF64Ne, f64_trunc, check); in BuildI32UConvertF32()
1175 Node* trunc = Unop(wasm::kExprF64Trunc, input); in BuildI32UConvertF64()
1180 Node* check = Unop(wasm::kExprF64UConvertI32, result); in BuildI32UConvertF64()
1181 Node* overflow = Binop(wasm::kExprF64Ne, trunc, check); in BuildI32UConvertF64()
1198 Binop(wasm::kExprI32Ior, input, in BuildI32Ctz()
1199 Binop(wasm::kExprI32Shl, input, jsgraph()->Int32Constant(1))); in BuildI32Ctz()
1201 result = Binop(wasm::kExprI32Ior, result, in BuildI32Ctz()
1202 Binop(wasm::kExprI32Shl, result, jsgraph()->Int32Constant(2))); in BuildI32Ctz()
1204 result = Binop(wasm::kExprI32Ior, result, in BuildI32Ctz()
1205 Binop(wasm::kExprI32Shl, result, jsgraph()->Int32Constant(4))); in BuildI32Ctz()
1207 result = Binop(wasm::kExprI32Ior, result, in BuildI32Ctz()
1208 Binop(wasm::kExprI32Shl, result, jsgraph()->Int32Constant(8))); in BuildI32Ctz()
1211 Binop(wasm::kExprI32Ior, result, in BuildI32Ctz()
1212 Binop(wasm::kExprI32Shl, result, jsgraph()->Int32Constant(16))); in BuildI32Ctz()
1215 Binop(wasm::kExprI32Xor, jsgraph()->Int32Constant(0xffffffff), result)); in BuildI32Ctz()
1232 Binop(wasm::kExprI64Ior, input, in BuildI64Ctz()
1233 Binop(wasm::kExprI64Shl, input, jsgraph()->Int64Constant(1))); in BuildI64Ctz()
1235 result = Binop(wasm::kExprI64Ior, result, in BuildI64Ctz()
1236 Binop(wasm::kExprI64Shl, result, jsgraph()->Int64Constant(2))); in BuildI64Ctz()
1238 result = Binop(wasm::kExprI64Ior, result, in BuildI64Ctz()
1239 Binop(wasm::kExprI64Shl, result, jsgraph()->Int64Constant(4))); in BuildI64Ctz()
1241 result = Binop(wasm::kExprI64Ior, result, in BuildI64Ctz()
1242 Binop(wasm::kExprI64Shl, result, jsgraph()->Int64Constant(8))); in BuildI64Ctz()
1245 Binop(wasm::kExprI64Ior, result, in BuildI64Ctz()
1246 Binop(wasm::kExprI64Shl, result, jsgraph()->Int64Constant(16))); in BuildI64Ctz()
1249 Binop(wasm::kExprI64Ior, result, in BuildI64Ctz()
1250 Binop(wasm::kExprI64Shl, result, jsgraph()->Int64Constant(32))); in BuildI64Ctz()
1253 wasm::kExprI64Xor, jsgraph()->Int64Constant(0xffffffffffffffff), result)); in BuildI64Ctz()
1268 wasm::kExprI32Add, in BuildI32Popcnt()
1269 Binop(wasm::kExprI32And, in BuildI32Popcnt()
1270 Binop(wasm::kExprI32ShrU, input, jsgraph()->Int32Constant(1)), in BuildI32Popcnt()
1272 Binop(wasm::kExprI32And, input, jsgraph()->Int32Constant(0x55555555))); in BuildI32Popcnt()
1275 wasm::kExprI32Add, in BuildI32Popcnt()
1276 Binop(wasm::kExprI32And, in BuildI32Popcnt()
1277 Binop(wasm::kExprI32ShrU, result, jsgraph()->Int32Constant(2)), in BuildI32Popcnt()
1279 Binop(wasm::kExprI32And, result, jsgraph()->Int32Constant(0x33333333))); in BuildI32Popcnt()
1282 wasm::kExprI32Add, in BuildI32Popcnt()
1283 Binop(wasm::kExprI32And, in BuildI32Popcnt()
1284 Binop(wasm::kExprI32ShrU, result, jsgraph()->Int32Constant(4)), in BuildI32Popcnt()
1286 Binop(wasm::kExprI32And, result, jsgraph()->Int32Constant(0x0f0f0f0f))); in BuildI32Popcnt()
1289 wasm::kExprI32Add, in BuildI32Popcnt()
1290 Binop(wasm::kExprI32And, in BuildI32Popcnt()
1291 Binop(wasm::kExprI32ShrU, result, jsgraph()->Int32Constant(8)), in BuildI32Popcnt()
1293 Binop(wasm::kExprI32And, result, jsgraph()->Int32Constant(0x00ff00ff))); in BuildI32Popcnt()
1296 wasm::kExprI32Add, in BuildI32Popcnt()
1297 Binop(wasm::kExprI32And, in BuildI32Popcnt()
1298 Binop(wasm::kExprI32ShrU, result, jsgraph()->Int32Constant(16)), in BuildI32Popcnt()
1300 Binop(wasm::kExprI32And, result, jsgraph()->Int32Constant(0x0000ffff))); in BuildI32Popcnt()
1318 Binop(wasm::kExprI64Add, in BuildI64Popcnt()
1319 Binop(wasm::kExprI64And, in BuildI64Popcnt()
1320 Binop(wasm::kExprI64ShrU, input, jsgraph()->Int64Constant(1)), in BuildI64Popcnt()
1322 Binop(wasm::kExprI64And, input, in BuildI64Popcnt()
1325 result = Binop(wasm::kExprI64Add, in BuildI64Popcnt()
1326 Binop(wasm::kExprI64And, Binop(wasm::kExprI64ShrU, result, in BuildI64Popcnt()
1329 Binop(wasm::kExprI64And, result, in BuildI64Popcnt()
1332 result = Binop(wasm::kExprI64Add, in BuildI64Popcnt()
1333 Binop(wasm::kExprI64And, Binop(wasm::kExprI64ShrU, result, in BuildI64Popcnt()
1336 Binop(wasm::kExprI64And, result, in BuildI64Popcnt()
1339 result = Binop(wasm::kExprI64Add, in BuildI64Popcnt()
1340 Binop(wasm::kExprI64And, Binop(wasm::kExprI64ShrU, result, in BuildI64Popcnt()
1343 Binop(wasm::kExprI64And, result, in BuildI64Popcnt()
1346 result = Binop(wasm::kExprI64Add, in BuildI64Popcnt()
1347 Binop(wasm::kExprI64And, Binop(wasm::kExprI64ShrU, result, in BuildI64Popcnt()
1350 Binop(wasm::kExprI64And, result, in BuildI64Popcnt()
1353 result = Binop(wasm::kExprI64Add, in BuildI64Popcnt()
1354 Binop(wasm::kExprI64And, Binop(wasm::kExprI64ShrU, result, in BuildI64Popcnt()
1357 Binop(wasm::kExprI64And, result, in BuildI64Popcnt()
1364 Node* WasmGraphBuilder::BuildWasmCall(wasm::FunctionSig* sig, Node** args) { in BuildWasmCall()
1390 wasm::FunctionSig* sig = module_->GetFunctionSignature(index); in CallDirect()
1442 wasm::FunctionSig* sig = module_->GetSignature(index); in CallIndirect()
1447 Node* WasmGraphBuilder::ToJS(Node* node, Node* context, wasm::LocalType type) { in ToJS()
1450 case wasm::kAstI32: in ToJS()
1452 case wasm::kAstI64: in ToJS()
1458 case wasm::kAstF32: in ToJS()
1462 case wasm::kAstF64: in ToJS()
1464 case wasm::kAstStmt: in ToJS()
1474 wasm::LocalType type) { in FromJS()
1487 case wasm::kAstI32: { in FromJS()
1493 case wasm::kAstI64: in FromJS()
1500 case wasm::kAstF32: in FromJS()
1504 case wasm::kAstF64: in FromJS()
1506 case wasm::kAstStmt: in FromJS()
1518 return Unop(wasm::kExprBoolNot, node); in Invert()
1523 wasm::FunctionSig* sig) { in BuildJSToWasmWrapper()
1553 sig->return_count() == 0 ? wasm::kAstStmt : sig->GetReturn()); in BuildJSToWasmWrapper()
1562 wasm::FunctionSig* sig) { in BuildWasmToJSWrapper()
1626 sig->return_count() == 0 ? wasm::kAstStmt : sig->GetReturn()); in BuildWasmToJSWrapper()
1694 byte memsize = wasm::WasmOpcodes::MemSize(memtype); in BoundsCheckMem()
1713 Node* WasmGraphBuilder::LoadMem(wasm::LocalType type, MachineType memtype, in LoadMem()
1732 if (type == wasm::kAstI64 && in LoadMem()
1787 Isolate* isolate, wasm::ModuleEnv* module, Handle<String> name, in CompileJSToWasmWrapper()
1789 wasm::WasmFunction* func = &module->module->functions->at(index); in CompileJSToWasmWrapper()
1879 Handle<Code> CompileWasmToJSWrapper(Isolate* isolate, wasm::ModuleEnv* module, in CompileWasmToJSWrapper()
1882 wasm::WasmFunction* func = &module->module->functions->at(index); in CompileWasmToJSWrapper()
1952 Handle<Code> CompileWasmFunction(wasm::ErrorThrower& thrower, Isolate* isolate, in CompileWasmFunction()
1953 wasm::ModuleEnv* module_env, in CompileWasmFunction()
1954 const wasm::WasmFunction& function, in CompileWasmFunction()
1966 wasm::FunctionEnv env; in CompileWasmFunction()
1984 wasm::TreeResult result = wasm::BuildTFGraph( in CompileWasmFunction()