MaxGraey / as-bignum

Fixed length big numbers for AssemblyScript 🚀

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

inline warnings

bowenwang1996 opened this issue · comments

Currently there are a lot of warnings like this

WARNING AS224: TODO: Cannot inline inferred calls and specific internals yet.

         it >>= shift;
         ~~~~~~~~~~~~
 in assembly/integer/u256.ts(515,8)

when I build the project. It seems that this happens only with the new runtime. It would be nice if we can fix it.

yeah, currently new runtime little bit more verbose with inlined operators.
@dcodeIO is it possible reduce this warnings?

It would be good to know what causes these warnings.

commented

At some occasions, if the arguments to a call have already been compiled prior to compiling the call itself, which happens for example if a binary operation is being compiled and an overload found later based on the type that resulted from compiling the binary operands, converting the call into an inlined block can lead to situations where locals used inside of the previously compiled arguments will conflict with locals introduced in the inlined block. Since runtime has been merged, there is some utility to potentially remedy local conflicts, but this hasn't yet been attempted in some cases, hence the old warnings are still in place. Essentially, the warning appears if a call that is annotated to be inlined isn't inlined and becomes a normal call instead, in turn resulting in an instance of the otherwise inlined (and not present) function to be included in the binary.

Fixed