Reviewers: danno,
Message:
Hello!
Please take a look.
Combination of this changes make it easier to build tools that want to map
deoptimization positions to the source code.
More changes that I expect to contribute in separate CLs:
- Emitting unique IDs for compiled functions (I am still trying to figure
out
where to put it on OptimizedCode. I think I will identify SharedFunctionInfo
with a pair (script_id,start_position));
- Printing source code of optimized functions even if disassembler is not
enabled (essential for using external tooling with Chrome which does not
include
disassembler by default). Printing source code of all inlined functions;
- Threading (script_id, position) pair through the optimizing compiler,
instead
of just (position). Simply tracking position does not work in multi-scripts
environment (both Chrome and node.js).
Description:
Improvements in positions handling in optimizing compiler.
- When building binary arithmetic op and comparison restore source position
of
the operation itself before building operation itself after it was changed
by
building operands. This ensures that position recorded for operation points
to
the operation token instead of pointing to the rightmost operand;
- Add support for recording operands' positions and use these positions when
inserting HChange instructions;
- When generating hydrogen.cfg emit H-instruction position as BCI
(previously 0
was emitted), additionally on every lithium instruction emit annotation
pointing
to corresponding hydrogen-instruction. This allows to easily reach from
deopt_id
to lithium instruction and from it to hydrogen instruction and source
position.
BUG=
Please review this at https://codereview.chromium.org/49203002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+149, -9 lines):
M src/hydrogen-instructions.h
M src/hydrogen-representation-changes.cc
M src/hydrogen.cc
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.