- Mark isolate tests with newly added parameters failing on dart2js.
- Specify files needed to be supplied to test harness for spawnUri.
BUG=
Review URL: https://codereview.chromium.org//1246823002 .
We now only introduce one getInterceptor call per primitive.
(The main use for GVN seemed to be cleaning up these calls, but we
might as well not introduce them in the first place).
To propagate single-used interceptors to their use, propagation of
constant-like expressions has changed.
There is a new CPS pass, let sinking, which sinks single-used pure
primitives to their use when the use is not inside a loop.
Conversely, the tree IR's assignment propagation has been made less
aggressive to compensate for things now handled by let sinking.
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1238163003.
SetStatic, SetField, and SetMutableVariable are now primitives instead
of interior expressions. They are valueless primitives, i.e. they are
bound by LetPrim but their value is never referenced.
This should simplify basic block traversal, since there are now fewer
types of interior expressions.
The four remaining interior expressions are: LetPrim, LetCont,
LetHandler, and LetMutable. Incidentally, these are exactly the four
expressions that can bind definitions.
GetMutableVariable and SetMutableVariable have also been renamed
to GetMutable and SetMutable to be uniform with LetMutable.
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1240263002.
When running as a content script in a Chrome extension `document.contentScript` is set to `null`. We should take that value instead of trying to compute another one based on script tags (the work-around we have for IE). Since content-scripts are not part of the page, it might be that there aren't even any other scripts and the work-around mechanism simply fails (thus not starting the main function).
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1224363004 .
Separate the higher- and lower-level cleanup steps during isolate shutdown. The former (currently only code coverage and timeline) may need to allocate, but the latter should not. Add assertions.
(cc:zra, who's working on clean shutdown)
BUG=23848
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1236913006 .
Path normaliztion removes '.' and '..' segments from a URI. Such relative references are only intended for URI References, and Uri References are only intended for resolving against a full URI.
We do path normalization on all URIs that have a scheme, authority or an absolute path, and partial normalization on what are really just relative paths. The partial normalization can leave ".." at the start of the path.
The URI reference resolution algorithm doesn't work as expected for a URI ending in "..". Resolving "./foo" wrt. a base of "/a/.." results in "/a/foo" - this is avoided when the base is path normalized before it's used.
This also fixes the "normalizePath" function which currently removes leading '..' segments, contrary to its documentation. It also makes the function redundant since all URI paths are normalized automatically.
See discussion on http://dartbug.com/23688
Also fix bug in the removeDotSegments function.
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1224263009.