+TraceTruffleCompilation: More detailed infos on optimization
Gero Leinemann
gero.leinemann at oracle.com
Wed Oct 1 13:22:51 UTC 2014
Hi Andreas,
first of all: Sorry if I my mail was a bit confusing. My question was
solely about the logging output.
> I'd argue a function is best identified by its source location and it's
> useful to capture the name at function assignment as an identifier (at
> parse time), which is not a property of the call site. If I understand
> you correctly, then for this piece of code:
> name = function() { bla }; other = name; other();
> you would identify "other" as the function name rather than "name"?
Of course the concrete link "call site -> call target" is a language
specific one, and I'm aware that there are several (mostly hacky) ways I
could modify "rootNode.toString()" as language implementor to modify the
output. Right.
> I'm not convinced it is useful to refer to the call site that triggered the compile(). There can be any number of call sites per call target and which one triggers may depend on compilation policy.
In theory: yes, the information is redundant, and may be misleading for
beginners.
If one's aware of the fact that compilation might be triggered from
different call sites (and it's non-deterministic) this is no problem,
but from the user point of view a very helpful (esp. time-saving)
additional bit of information while skimming stdout for compiled functions.
Basically my question is if you know a clean way to add the
SourceSection of the CallNode to the "opt done" output in Truffle (maybe
sth. like "TriggerHint: fun(a, b, c)").
If not, or an implementation does not make sense from the framework
implementor point of view (unwanted changes to dependencies, API, etc.),
I'll happily think about a FastR-specific solution.
Best Regards,
Gero
More information about the graal-dev
mailing list