62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
-
+
-
+
|
assert( pOvlSet );
Context localC( c.env(), c.identity(), GetValueType< uint32_t >() );
localC.setBuilder( c.codeBuilder() );
execute::VM vm;
if( !args.isConstant() && llr::CanValueBeEagerlyEvaluated( args ) )
if( !args.isConstant() && cir::CanValueBeEagerlyEvaluated( args ) )
args = execute::Evaluate( args, vm );
if( args.isPoison() )
return PoisonValue();
auto val = ResolveInvocation( localC, GetOverloadSetInvocationRule(), ToValue( pOvlSet ), args );
if( val.isConstant() || !llr::CanValueBeEagerlyEvaluated( val ) )
if( val.isConstant() || !cir::CanValueBeEagerlyEvaluated( val ) )
return val;
return execute::Evaluate( val, vm );
}
}
|