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}
In ES5, dates were supposed to default to UTC if no timezone was specified. However, this changed in ES6, which specified that dates should be in the local timezone if no timezone was specified. This CL updates our behavior to match that part of the ES6 spec.
BUG=chromium:391730, v8:4242
LOG=Y
Review URL: https://codereview.chromium.org/1229903004
Cr-Commit-Position: refs/heads/master@{#29854}
- Ensure frame_size is always set during allocation.
- Add DCHECKs that frame_size is a valid value
- Remove locals_count, which we don't need yet (possibly every)
- Add a newline at the end of BytecodeArray::Dissassemble
for each bytecode.
BUG=v8:4280
LOG=N
Review URL: https://codereview.chromium.org/1254873002
Cr-Commit-Position: refs/heads/master@{#29852}
This also allows us to not always compile for debugging when debug is active.
Review URL: https://codereview.chromium.org/1258583002
Cr-Commit-Position: refs/heads/master@{#29848}
This function will be used later instead of HasLowAllocationRate
to decide how many pages to compact.
BUG=chromium:502247
LOG=NO
Review URL: https://codereview.chromium.org/1254603002
Cr-Commit-Position: refs/heads/master@{#29841}
port d6ee366d5c (r29834).
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.
BUG=
Review URL: https://codereview.chromium.org/1258513003
Cr-Commit-Position: refs/heads/master@{#29839}
port 7877c4e0c7 (r29814).
original commit message:
Adds basic support for generation of interpreter bytecode handler code
snippets. The InterpreterAssembler class exposes a set of low level,
interpreter specific operations which can be used to build a Turbofan
graph. The Interpreter class generates a bytecode handler snippet for
each bytecode by assembling operations using an InterpreterAssembler.
Currently only two simple bytecodes are supported: LoadLiteral0 and Return.
BUG=
Review URL: https://codereview.chromium.org/1256783002
Cr-Commit-Position: refs/heads/master@{#29838}
port bc8041dc2b (r29811).
original commit message:
Previous to this CL, ICs used a slightly different code idiom
to get to C++ code from generated code than runtime intrinsics,
using an IC_Utility class that in essence provided exactly
the same functionality as Runtime::FunctionForId, but in its
own quirky way.
This CL unifies the two mechanisms, folding IC_Utility
away by making all IC entry points in C++ code, e.g. IC
miss handlers, full-fledged runtime intrinsics. This makes
it possible to eliminate a bunch of ad-hoc declarations and
adapters that the IC system had to needlessly re-invent.
As a bonus and the original reason for this yak-shave:
IC-related C++ runtime functions are now callable from
TurboFan.
BUG=
Review URL: https://codereview.chromium.org/1252903002
Cr-Commit-Position: refs/heads/master@{#29837}
port 3334b830a5 (r20813).
original commit message:
HydrogenCodeStubs consume stack arguments via descriptor.
All of this is controlled by the CallDescriptor. It's simply the case
that if you specify less registers than the function arity calls for,
the rest are assumed to be on the stack.
Bailout handlers accept these constant stack arguments too.
BUG=
Review URL: https://codereview.chromium.org/1258553002
Cr-Commit-Position: refs/heads/master@{#29836}
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=ishell@chromium.org
BUG=chromium:510694
LOG=n
Review URL: https://codereview.chromium.org/1238143002
Cr-Commit-Position: refs/heads/master@{#29834}