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.

Reply via email to