The approach taken in this CL is to incrementally move toward the
currently-specced version of modules in ES6. The biggest change in this
patch is separating the parsing of modules from the parsing of scripts,
getting rid of the 'module' keyword and thus disallowing modules-in-scripts
as well as modules-in-modules.
The syntax supported by import/export declarations has not yet been significantly
changed, with the major exception being that import declarations require a string
as the 'from' part.
Most of the existing tests have been disabled, with a first new test added
in cctest/test-parsing.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/881623002
Cr-Commit-Position: refs/heads/master@{#26299}
Up until now we used a special Terminate node to artifically connect non
terminating loops to the End node, but this was kind of adhoc and didn't
work for the CFG. So without all kinds of weird hacks, the end block in
the CFG will not be connected to NTLs, which makes it impossible to
compute post dominance / control dependence in the current setting.
So instead of Terminate, we add a special Branch to NTLs, whose
condition is the special Always node, which corresponds to True, except
that it cannot be folded away. This way we don't need any special
machinery in the scheduler, since it's just a regular Branch.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/875263004
Cr-Commit-Position: refs/heads/master@{#26294}
additionally, make the interface match the JSFunction interface
BUG=451405
LOG=N
Review URL: https://codereview.chromium.org/883613003
Cr-Commit-Position: refs/heads/master@{#26291}
This solves an issue with the custom startup snapshot, in cases where
deserializing the isolate requires more than one page per space.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/876613002
Cr-Commit-Position: refs/heads/master@{#26285}
Change stack handling to clarify the usage of reserved MIPS argument slots for mips32.
BUG=
Review URL: https://codereview.chromium.org/867183003
Cr-Commit-Position: refs/heads/master@{#26279}
Port a7d67a64f1
Original commit message:
The whole logic in DoMul makes me cry, so I made only the minimal
change to fix the issue...
BUG=v8:451322
LOG=y
Review URL: https://codereview.chromium.org/879473002
Cr-Commit-Position: refs/heads/master@{#26277}
This has the added benefit that these functions are now guaranteed not to throw when v8::Value::Is{Uint,Int}32() returned true, even when calling into JavaScript would throw a stack limit error.
BUG=chromium:446097
LOG=y
Review URL: https://codereview.chromium.org/873983003
Cr-Commit-Position: refs/heads/master@{#26273}
Moved and renamed the scripts to fit with git.
These changes require documentation updates, updates of
the release spreadsheet and the buildbot side.
BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n
Review URL: https://codereview.chromium.org/868473004
Cr-Commit-Position: refs/heads/master@{#26271}
Currently the derived type of a right shift does not narrow the input
type based on the actual shift amount - well it does some narrowing
but more can be down. For patterns such as u32[i>>2], which is very
common is asm.js code, this limits the ability to later prove that an
index bounds check is unnecessary which can have a significant
performance impact.
Review URL: https://codereview.chromium.org/873143002
Cr-Commit-Position: refs/heads/master@{#26270}
This makes some internal renaming, e.g. trunk -> candidates,
bleeding edge -> master, without changing the api.
Also remove some unused bailout steps from the push script.
Remove unused bump version script.
BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n
Review URL: https://codereview.chromium.org/873213002
Cr-Commit-Position: refs/heads/master@{#26269}
Accessing the builtins object this way prevents sharing of code across
native contexts; instead we now load the builtin from the context of the
JS operation instead.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/879433002
Cr-Commit-Position: refs/heads/master@{#26264}
The whole logic in DoMul makes me cry, so I made only the minimal
change to fix the issue...
BUG=v8:451322
LOG=y
Review URL: https://codereview.chromium.org/873703002
Cr-Commit-Position: refs/heads/master@{#26261}
Port c7b09aac31
Original commit message:
Along the way:
- Thread isolate parameter explicitly through code that used to
rely on getting it from the zone.
- Canonicalize the parameter position of isolate and zone for
affected code
- Change Hydrogen New<> instruction templates to automatically
pass isolate
LOG=N
BUG=
Review URL: https://codereview.chromium.org/875533002
Cr-Commit-Position: refs/heads/master@{#26257}
Along the way:
- Thread isolate parameter explicitly through code that used to
rely on getting it from the zone.
- Canonicalize the parameter position of isolate and zone for
affected code
- Change Hydrogen New<> instruction templates to automatically
pass isolate
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/868883002
Cr-Commit-Position: refs/heads/master@{#26252}