Truffle/Source Attribution:  Replace direct creation of SourceSection objects with factory methods on Source; two of these greatly simplify source attribution by automatically computing either the row/column start location from a character offset or vice versa, depending on what’s made available from the parser. Minor API change on Visualizer.
SL: correct to use new SourceAttribution factory methods.
Merge with 55be15d24e45e5636ee14d657616c6ffac039178
convert signed range tests into an unsigned compare
don't deopt on large array allocations
add missing case in assertDeepEquals
fix unsigned compare, expand test
mx: fix constructor call

--HG--
extra : rebase_source : bf4d10f3c20df9ed878f685beff7c151c5237f33
mxtool: distribution dependency should be a list

--HG--
extra : rebase_source : 2c17f1729ab19a73d85296b4c4b4a3173a996c51
added metric to count the input graph sizes for phases
HSAIL Deopt support for VirtualObjects. Only create the host graph is there are deopts. Add a test provided by Tom Deneau.

--HG--
extra : rebase_source : 04673a61c153893c4dff9ee41ede5fd6f872e2bc
cleanup after ReplaceIntrinsicsPhase
remove some debug code in HotSpotTruffleRuntime
[inlining] privatizing methods in InliningData
[inlining] moving InlineInfo and subclasses to package inlining.info
[single-pass-iter] readability and one more assertion
[single-pass-iter] sharpening the declared type of PathStart.node
[single-pass-iter] owner-is-mutator access protocol for queued states
[single-pass-iter] skipping redundant state-cloning
[inlining] re-adding file header lost during refactoring