Lines Matching defs:sig
491 const FunctionSig* sig = nullptr;
524 const FunctionSig* sig = nullptr;
550 return static_cast<uint32_t>(sig->parameter_count());
555 return static_cast<uint32_t>(sig->return_count());
559 return sig->GetParam(index);
562 if (type == kWasmBottom) return sig->GetReturn(index);
594 const FunctionSig* sig = nullptr;
980 F(CallRef, const Value& func_ref, const FunctionSig* sig, \
982 F(ReturnCallRef, const Value& func_ref, const FunctionSig* sig, \
1079 WasmFeatures* detected, const FunctionSig* sig, const byte* start,
1088 sig_(sig) {}
1325 imm.sig = module_->functions[imm.index].sig;
1353 imm.sig = module_->signature(imm.sig_imm.index);
1442 imm.sig = module_->signature(imm.sig_index);
1936 const FunctionSig* sig = WasmOpcodes::Signature(opcode);
1937 if (!sig) sig = WasmOpcodes::AsmjsSignature(opcode);
1938 if (sig) return {sig->parameter_count(), sig->return_count()};
1940 #define DECLARE_OPCODE_CASE(name, opcode, sig) case kExpr##name:
1978 return {imm.sig->parameter_count(), imm.sig->return_count()};
1984 return {imm.sig->parameter_count() + 1,
1985 imm.sig->return_count()};
1990 DCHECK_EQ(0, imm.tag->sig->return_count());
1991 return {imm.tag->sig->parameter_count(), 0};
2035 sig = WasmOpcodes::Signature(opcode);
2036 DCHECK_NOT_NULL(sig);
2037 return {sig->parameter_count(), sig->return_count()};
2224 body.sig, body.start, body.end,
2561 #define BUILD_SIMPLE_OPCODE(op, _, sig) \
2562 DECODE(op) { return BuildSimpleOperator_##sig(kExpr##op); }
2566 #define BUILD_SIMPLE_OPCODE(op, _, sig) \
2574 return BuildSimpleOperator_##sig(kExpr##op); \
2583 ArgVector args = PeekArgs(imm.sig);
2587 DropArgs(imm.sig);
2622 ArgVector args = PeekArgs(imm.sig);
2628 DropArgs(imm.sig);
2654 const WasmTagSig* sig = imm.tag->sig;
2655 EnsureStackSpace(static_cast<int>(sig->parameter_count()));
2656 for (ValueType type : sig->parameters()) Push(CreateValue(type));
2657 base::Vector<Value> values(stack_ + c->stack_depth, sig->parameter_count());
2810 ArgVector args = PeekArgs(imm.sig, new_locals_count);
2818 DropArgs(imm.sig); // Drop {args}.
2827 ArgVector args = PeekArgs(imm.sig);
2831 DropArgs(imm.sig);
2841 ArgVector args = PeekArgs(imm.sig, 1);
2847 DropArgs(imm.sig); // Drop {args}.
3310 ArgVector args = PeekArgs(imm.sig);
3311 ReturnVector returns = CreateReturnValues(imm.sig);
3314 DropArgs(imm.sig);
3323 Peek(0, static_cast<int>(imm.sig->parameter_count()), kWasmI32);
3324 ArgVector args = PeekArgs(imm.sig, 1);
3325 ReturnVector returns = CreateReturnValues(imm.sig);
3329 DropArgs(imm.sig);
3338 if (!VALIDATE(this->CanReturnCall(imm.sig))) {
3343 ArgVector args = PeekArgs(imm.sig);
3345 DropArgs(imm.sig);
3354 if (!VALIDATE(this->CanReturnCall(imm.sig))) {
3361 ArgVector args = PeekArgs(imm.sig, 1);
3365 DropArgs(imm.sig);
3383 const FunctionSig* sig = this->module_->signature(func_type.ref_index());
3384 ArgVector args = PeekArgs(sig, 1);
3385 ReturnVector returns = CreateReturnValues(sig);
3386 CALL_INTERFACE_IF_OK_AND_REACHABLE(CallRef, func_ref, sig,
3390 DropArgs(sig);
3409 const FunctionSig* sig = this->module_->signature(func_type.ref_index());
3410 ArgVector args = PeekArgs(sig, 1);
3411 CALL_INTERFACE_IF_OK_AND_REACHABLE(ReturnCallRef, func_ref, sig,
3414 DropArgs(sig);
3469 #define SIMPLE_PROTOTYPE_CASE(name, opc, sig) \
3480 const FunctionSig* sig = WasmOpcodes::AsmjsSignature(opcode);
3481 DCHECK_NOT_NULL(sig);
3482 return BuildSimpleOperator(opcode, sig);
3516 #define BUILD_SIMPLE_OPCODE(op, _, sig) DECODE_IMPL(op);
3519 #define BUILD_SIMPLE_EXTENDED_CONST_OPCODE(op, _, sig) DECODE_IMPL_CONST(op);
3578 #define SIMPLE_PROTOTYPE_CASE(name, opc, sig) DECODE_IMPL(name);
3668 V8_INLINE ArgVector PeekArgs(const FunctionSig* sig, int depth = 0) {
3669 int count = sig ? static_cast<int>(sig->parameter_count()) : 0;
3674 ValidateArgType(args, i, sig->GetParam(i));
3678 // Drops a number of stack elements equal to the {sig}'s parameter count (0 if
3679 // {sig} is null), or all of them if less are present.
3680 V8_INLINE void DropArgs(const FunctionSig* sig) {
3681 int count = sig ? static_cast<int>(sig->parameter_count()) : 0;
3711 ValueType GetReturnType(const FunctionSig* sig) {
3712 DCHECK_GE(1, sig->return_count());
3713 return sig->return_count() == 0 ? kWasmVoid : sig->GetReturn();
4003 const FunctionSig* sig = WasmOpcodes::Signature(opcode);
4004 if (!VALIDATE(sig != nullptr)) {
4008 ArgVector args = PeekArgs(sig);
4009 if (sig->return_count() == 0) {
4012 DropArgs(sig);
4014 ReturnVector results = CreateReturnValues(sig);
4017 DropArgs(sig);
4930 const FunctionSig* sig = WasmOpcodes::Signature(opcode);
4931 if (!VALIDATE(sig != nullptr)) {
4948 ret_type = GetReturnType(sig); \
4976 ArgVector args = PeekArgs(sig);
4980 DropArgs(sig);
4982 Value result = CreateValue(GetReturnType(sig));
4985 DropArgs(sig);
4992 const FunctionSig* sig = WasmOpcodes::Signature(opcode);
5002 BuildSimpleOperator(opcode, sig);
5050 ArgVector args = PeekArgs(sig);
5053 DropArgs(sig);
5068 ArgVector args = PeekArgs(sig);
5071 DropArgs(sig);
5163 V8_INLINE ReturnVector CreateReturnValues(const FunctionSig* sig) {
5164 size_t return_count = sig->return_count();
5166 std::transform(sig->returns().begin(), sig->returns().end(), values.begin(),
5420 const FunctionSig* sig = WasmOpcodes::Signature(opcode);
5421 return BuildSimpleOperator(opcode, sig);
5424 int BuildSimpleOperator(WasmOpcode opcode, const FunctionSig* sig) {
5425 DCHECK_GE(1, sig->return_count());
5426 if (sig->parameter_count() == 1) {
5428 DCHECK_EQ(1, sig->return_count());
5429 return BuildSimpleOperator(opcode, sig->GetReturn(0), sig->GetParam(0));
5431 DCHECK_EQ(2, sig->parameter_count());
5432 ValueType ret = sig->return_count() == 0 ? kWasmVoid : sig->GetReturn(0);
5433 return BuildSimpleOperator(opcode, ret, sig->GetParam(0),
5434 sig->GetParam(1));
5465 #define DEFINE_SIMPLE_SIG_OPERATOR(sig, ...) \
5466 int BuildSimpleOperator_##sig(WasmOpcode opcode) { \