Literals should stay together to simplify allocation folding. This CL takes the pretenuring information from the outermost literal and applies it to the inner liberals.
BUG=chromium:514721
LOG=n
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/1263773002 .
Cr-Commit-Position: refs/heads/master@{#29903}
This allows variants to be named on test failures (follow
up) and then to be used in the test runner for a repro.
This also speeds up variant iteration for test262 and fixes
a bug with variants for benchmarks.
BUG=chromium:511215
NOTREECHECKS=true
LOG=n
Review URL: https://codereview.chromium.org/1245623005
Cr-Commit-Position: refs/heads/master@{#29899}
When a prototype object migrates from a slow to a fast map, where the slow map
was registered as a user of its own prototype, then the registration must be
transferred to the new map (just like MigrateToMap does for all other cases).
BUG=chromium:513602
LOG=y
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/1263543004
Cr-Commit-Position: refs/heads/master@{#29898}
Scoping rules are different on recompile vis-a-vis global loads.
BUG=chromium:514526
LOG=y
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/1256413005
Cr-Commit-Position: refs/heads/master@{#29896}
port 5dff4bdff0 (r29886).
original commit message:
No need to pass the name explicitly to the stubs; the runtime can
extract the name from the ScopeInfo (the extension of the
ScriptContext) on-demand easily without any performance impact.
BUG=
Review URL: https://codereview.chromium.org/1259063004
Cr-Commit-Position: refs/heads/master@{#29892}
port cac64b9f63 (r29881)
original commit message:
We don't need the hole check and slow runtime mode for read-only
properties this way.
BUG=
Review URL: https://codereview.chromium.org/1263473002
Cr-Commit-Position: refs/heads/master@{#29891}
Don't use different read/write slots for context globals, but
let them share the same slot, which reduces the number of
initial misses, and also saves some memory for large scripts.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/1258213002
Cr-Commit-Position: refs/heads/master@{#29889}
Reason for revert:
This CL may be the reason for the spike on memory corruption. Tentatively reverting this CL.
BUG=chromium:512780
LOG=n
Original issue's description:
> Activate preserving of optimized code map accross GCs.
>
> This enables --noflush-optimized-code-cache which allows preserving
> entries in the optimized code map accross GCs. This only applies to
> values being reachable through other paths.
>
> R=hpayer@chromium.org,hablich@chromium.org
>
> Committed: https://crrev.com/1a8776db25b63c4ce718423772d1fd13f58eeab5
> Cr-Commit-Position: refs/heads/master@{#29755}
TBR=hablich@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1255043003
Cr-Commit-Position: refs/heads/master@{#29888}
We can apply the shortcut used for data properties of the JSGlobalObject
to builtin properties as well. This mostly affects the custom properties
we use for the Math functions (i.e. rngstate for Math.random() and kMath
for sin, cos and friends).
Drive-by-fix: Also mark the internal builtin typed arrays properties
(rngstate, kMath and rempio2result) as READ_ONLY, as they should not be
touched after genesis.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/1254143003
Cr-Commit-Position: refs/heads/master@{#29887}
No need to pass the name explicitly to the stubs; the runtime can
extract the name from the ScopeInfo (the extension of the
ScriptContext) on-demand easily without any performance impact.
Review URL: https://codereview.chromium.org/1259963002
Cr-Commit-Position: refs/heads/master@{#29886}
Per discussion on the bug, the DCHECK'd case actually occurs in normal
operation, outside of V8's control.
BUG=chromium:388244
LOG=n
Review URL: https://codereview.chromium.org/1255043002
Cr-Commit-Position: refs/heads/master@{#29877}
SharedFunctionInfos that have a debug info must not be collected.
Otherwise we lose previously set break points. This means that
there is no need to hold onto debug infos weakly. The reason this
has not caused an issue up till now is that code flushing has been
disabled when the debugger is active.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/1255793003
Cr-Commit-Position: refs/heads/master@{#29869}
Port d6ee366d5c
Original commit message:
This is the initial round of optimizations for the
LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically
turning them into platform code stubs to avoid the Crankshaft overhead
in the fast case, and making the runtime interface cheaper.
R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:510694
LOG=n
Review URL: https://codereview.chromium.org/1261473002
Cr-Commit-Position: refs/heads/master@{#29867}
In CL 0fe2fbd173 the implementation of
MathPow for all ports are unified and MathPow stub code is invoked.
So we move the direct runtime function call from full-codegen to MathPow
stub for X87 platform.
BUG=
Review URL: https://codereview.chromium.org/1258873002
Cr-Commit-Position: refs/heads/master@{#29865}
Also make a minor improvement in the mips32 StoreGlobalViaContextStub
and fix some bad comments in the macro-assembler.
BUG=
Review URL: https://codereview.chromium.org/1254153002
Cr-Commit-Position: refs/heads/master@{#29859}
Class bindings are mutable and lexically scoped, with TDZ semantics.
They may not overlap with var bindings in the same scope. This patch
adds tests for those properties.
R=adamk
BUG=v8:3305
LOG=N
Review URL: https://codereview.chromium.org/1254003004
Cr-Commit-Position: refs/heads/master@{#29856}
--harmony_sloppy includes behavior to turn on sloppy mode lexical
bindings. Before this patch, it also included a way to parse let
which is likely web-incompatible (let is disallowed as an
identifier). This patch splits off the let parsing from the more
general block scoping code, so that block scoping can be developed
independently.
R=adamk
LOG=N
BUG=v8:3305
Review URL: https://codereview.chromium.org/1255013002
Cr-Commit-Position: refs/heads/master@{#29855}