yangguo [Thu, 23 Jul 2015 13:20:14 +0000 (06:20 -0700)]
Remove readline support from d8.
Nobody seems to use it. A good alternative is rlwrap.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
1250223002
Cr-Commit-Position: refs/heads/master@{#29810}
machenbach [Thu, 23 Jul 2015 13:01:15 +0000 (06:01 -0700)]
[test] Let test runner only use exact matches of tests on the cmd-line.
There are many test names in the v8 code base that prefix
others, which makes it hard to only run those tests.
BUG=chromium:511215
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
1251363002
Cr-Commit-Position: refs/heads/master@{#29809}
jochen [Thu, 23 Jul 2015 12:48:57 +0000 (05:48 -0700)]
Remove code for no longer present external array on any object API
BUG=v8:3996
R=jarin@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1249723005
Cr-Commit-Position: refs/heads/master@{#29808}
rossberg [Thu, 23 Jul 2015 11:53:31 +0000 (04:53 -0700)]
[es6] Some renamings and minor clean-ups in parameter parsing
In particular, rename FormalParameterParsingState and friends to FormalParameters etc.
This should not change any logic, but is a preparatory CL for a bunch of follow-up fixes and clean-ups.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1247443004
Cr-Commit-Position: refs/heads/master@{#29807}
machenbach [Thu, 23 Jul 2015 11:47:04 +0000 (04:47 -0700)]
[test] Speed up slow stack overflow test.
BUG=
Review URL: https://codereview.chromium.org/
1253643003
Cr-Commit-Position: refs/heads/master@{#29806}
yangguo [Thu, 23 Jul 2015 11:45:57 +0000 (04:45 -0700)]
Reduce duplicate code in full-codegen across platforms.
R=mvstanton@chromium.org
Committed: https://crrev.com/
937d4efbf9c399339fdc8e041bec8e80baa7b58f
Cr-Commit-Position: refs/heads/master@{#29798}
Review URL: https://codereview.chromium.org/
1255613002
Cr-Commit-Position: refs/heads/master@{#29805}
hpayer [Thu, 23 Jul 2015 10:03:00 +0000 (03:03 -0700)]
Use a lock in pages to synchronize sweeper threads to allow others to wait on concurrently swept pages.
BUG=
Review URL: https://codereview.chromium.org/
1244353002
Cr-Commit-Position: refs/heads/master@{#29804}
rossberg [Thu, 23 Jul 2015 09:58:38 +0000 (02:58 -0700)]
[es6] Fix function context check for super and new.target
R=adamk@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
1244423003
Cr-Commit-Position: refs/heads/master@{#29803}
yangguo [Thu, 23 Jul 2015 09:50:28 +0000 (02:50 -0700)]
Revert of Reduce duplicate code in full-codegen across platforms. (patchset #1 id:1 of https://codereview.chromium.org/
1255613002/)
Reason for revert:
breaks mips
Original issue's description:
> Reduce duplicate code in full-codegen across platforms.
>
> R=mvstanton@chromium.org
>
> Committed: https://crrev.com/
937d4efbf9c399339fdc8e041bec8e80baa7b58f
> Cr-Commit-Position: refs/heads/master@{#29798}
TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1252513004
Cr-Commit-Position: refs/heads/master@{#29802}
yangguo [Thu, 23 Jul 2015 09:49:19 +0000 (02:49 -0700)]
Remove d8's interactive Javascript debugger.
The code is unmaintained and full of errors...
but this CL wipes them all away.
Nobody seems to use it anyways.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1243213004
Cr-Commit-Position: refs/heads/master@{#29801}
mstarzinger [Thu, 23 Jul 2015 09:16:31 +0000 (02:16 -0700)]
[turbofan] Add some documenting comments to RawMachineAssembler.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1248263003
Cr-Commit-Position: refs/heads/master@{#29800}
mstarzinger [Thu, 23 Jul 2015 08:25:25 +0000 (01:25 -0700)]
[turbofan] Remove bloated GraphBuilder base class.
Using the GraphBuilder base class forces each node creation to go
through a virtual function dispatch just for the sake of saving the
duplication of the NewNode helper methods. In total that added up to
saving minus (sic!) six lines of code.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1252093002
Cr-Commit-Position: refs/heads/master@{#29799}
yangguo [Thu, 23 Jul 2015 08:23:18 +0000 (01:23 -0700)]
Reduce duplicate code in full-codegen across platforms.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1255613002
Cr-Commit-Position: refs/heads/master@{#29798}
yurys [Thu, 23 Jul 2015 07:46:49 +0000 (00:46 -0700)]
Remove RestartFrame from live edit API
There is already non-throwing version FrameMirror.restart and RestartFrame in the livedit-debugger.js just adds a throwing wrapper around it.
Also NEEDS_STEP_IN_PROPERTY_NAME was removed, the client code can decide based on the stack_modified field if "step in" is required.
Chromium side was fixed in https://codereview.chromium.org/
1249013002/
BUG=None
LOG=N
Review URL: https://codereview.chromium.org/
1247363002
Cr-Commit-Position: refs/heads/master@{#29797}
Ilija.Pavlovic [Thu, 23 Jul 2015 07:29:57 +0000 (00:29 -0700)]
MIPS: Fix simulator data trace for DSLL and BAL/BGEZAL.
In simulator data trace, DSLL did not print result and
BAL/BGEZAL omitted result from an instruction executed
in delay slot.
TEST=cctest/test-assembler-mips[64]
BUG=
Review URL: https://codereview.chromium.org/
1245173002
Cr-Commit-Position: refs/heads/master@{#29796}
paul.lind [Thu, 23 Jul 2015 06:27:04 +0000 (23:27 -0700)]
Fix a -Wsign-compare error under GCC 4.9.2.
BUG=
Review URL: https://codereview.chromium.org/
1249703005
Cr-Commit-Position: refs/heads/master@{#29795}
adamk [Thu, 23 Jul 2015 05:50:27 +0000 (22:50 -0700)]
[es6] Array.prototype[Symbol.iterator].name should be 'values'
R=littledan@chromium.org
BUG=v8:4311
LOG=n
Review URL: https://codereview.chromium.org/
1242623002
Cr-Commit-Position: refs/heads/master@{#29794}
v8-autoroll [Thu, 23 Jul 2015 05:49:20 +0000 (22:49 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
4943801a353f2f58e7268e17803d87cf78f2f732
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1253623002
Cr-Commit-Position: refs/heads/master@{#29793}
mstarzinger [Wed, 22 Jul 2015 18:28:23 +0000 (11:28 -0700)]
[turbofan] Get rid of overly abstract SimplifiedGraphBuilder.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1248743003
Cr-Commit-Position: refs/heads/master@{#29792}
danno [Wed, 22 Jul 2015 18:27:16 +0000 (11:27 -0700)]
[turbofan]: Fix tail calls edge cases and add tests
Review URL: https://codereview.chromium.org/
1245523002
Cr-Commit-Position: refs/heads/master@{#29791}
mstarzinger [Wed, 22 Jul 2015 14:03:59 +0000 (07:03 -0700)]
[turbofan] Preserve cached code across GCs.
This preserves the context-independent entry in an optimized code map
across GCs when the code is considered young (i.e. less than 3 ages).
Note that any context-dependent entry for the same code will still be
flushed immediately when the respective context dies, hence context
lifetime is not increased.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1252463002
Cr-Commit-Position: refs/heads/master@{#29790}
mvstanton [Wed, 22 Jul 2015 12:37:14 +0000 (05:37 -0700)]
Eliminate redundant descriptor ElementTransitionAndStoreDescriptor.
It's just the same as StoreTransitionDescriptor.
BUG=
Review URL: https://codereview.chromium.org/
1248973002
Cr-Commit-Position: refs/heads/master@{#29789}
mstarzinger [Wed, 22 Jul 2015 11:46:04 +0000 (04:46 -0700)]
Allow for optimized code map to have zero entries.
This allows the optimized code map to contain no context-dependent
entries, but still hold one context-independent entry. This is a
precursor to extending the lifetime of the context-independent entry.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1249543005
Cr-Commit-Position: refs/heads/master@{#29788}
mstarzinger [Wed, 22 Jul 2015 11:10:49 +0000 (04:10 -0700)]
Fix pushing of register in CallConstructStub outside frame.
This fixes a recent regression where the register holding the original
receiver was pushed onto the stack before the internal frame within the
CallStubInRecordCallTarget helper was created. That in turn confused
the stack walker when allocations in these stubs failed.
R=mvstanton@chromium.org
BUG=chromium:512711
LOG=N
Review URL: https://codereview.chromium.org/
1245043003
Cr-Commit-Position: refs/heads/master@{#29787}
jochen [Wed, 22 Jul 2015 10:25:51 +0000 (03:25 -0700)]
Store offset between fixed typed array base and data start in object
The layout of fixed typed array base is then capable of handling
external typed arrays as well. In a follow-up CL, I'll delete external
typed arrays, and use fixed typed array base instead
BUG=v8:3996
R=jarin@chromium.org,mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1248483007
Cr-Commit-Position: refs/heads/master@{#29786}
mstarzinger [Wed, 22 Jul 2015 08:49:34 +0000 (01:49 -0700)]
[arm] Fix pushing of stale register in CallConstructStub.
This fixes a recent regression where the register usually holding the
original receiver was pushed onto the stack even when the stub was not
compiled for super calls (i.e. IsSuperConstructorCall). This led to
untagged values being present in the stack frame.
R=jacob.bramley@arm.com
BUG=chromium:512573
LOG=N
Review URL: https://codereview.chromium.org/
1241223003
Cr-Commit-Position: refs/heads/master@{#29785}
yangguo [Wed, 22 Jul 2015 07:37:21 +0000 (00:37 -0700)]
Debugger: fix crash when debugger is enabled between parsing and compiling.
The background parser checks for debugger state in its constructor. This
is not good enough, since the debugger state may change afterwards, but
before compiling takes place. As the background parser can only parse
lazily, this could mean that due to debugging, we try to eagerly compile
an inner function we have not eagerly parsed.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
1247743002
Cr-Commit-Position: refs/heads/master@{#29784}
mtrofin [Wed, 22 Jul 2015 04:50:16 +0000 (21:50 -0700)]
Unit tests for the live range conflict detection mechanism (CoalescedLiveRanges) in the Greedy Allocator.
Consolidated conflict detection and traversal logic in CoalescedLiveRanges to avoid duplication in both code and testing. In addition, this change achieves better separation between CoalescedLiveRanges and other register allocator components, improving testability and maintainability.
BUG=
Review URL: https://codereview.chromium.org/
1219063017
Cr-Commit-Position: refs/heads/master@{#29783}
v8-autoroll [Wed, 22 Jul 2015 03:26:32 +0000 (20:26 -0700)]
Update V8 DEPS.
Rolling v8/third_party/android_tools to
6a7921fdbc510e30de5bb38c5dcf9e524713ca6b
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1247753003
Cr-Commit-Position: refs/heads/master@{#29782}
bbudge [Wed, 22 Jul 2015 03:13:53 +0000 (20:13 -0700)]
SIMD.js: Update Float32x4 and tests to current spec.
LOG=N
BUG=v8:4124
Review URL: https://codereview.chromium.org/
1239423004
Cr-Commit-Position: refs/heads/master@{#29781}
bradnelson [Tue, 21 Jul 2015 19:02:27 +0000 (12:02 -0700)]
Make simdjs tests redownload on a revision change.
LOG=N
BUG=None
TEST=manual,local
R=bbudge@chromium.org,machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1240453003
Cr-Commit-Position: refs/heads/master@{#29780}
adamk [Tue, 21 Jul 2015 17:16:57 +0000 (10:16 -0700)]
Remove unnecessary coupling between Promise tests and Object.observe
Many mjsunit tests (as well as the promises-aplus adapter scripts) were
using Object.observe simply for microtask-enqueueing purposes. Replaced
such uses with %EnqueueMicrotask.
Review URL: https://codereview.chromium.org/
1246933002
Cr-Commit-Position: refs/heads/master@{#29779}
hpayer [Tue, 21 Jul 2015 16:14:33 +0000 (09:14 -0700)]
Revert "Directly remove slot buffer entries in deoptimized code objects."
This reverts commit
80b3f16951251d342ebaf9174872d50e46f048a5.
Revert "Record code slots that may point to evacuation candidate objects after deoptimizing them."
This reverts commit
4621210cfed738b8171b075f816f0c7329489c9d.
BUG=chromium:507840
LOG=n
Review URL: https://codereview.chromium.org/
1239383004
Cr-Commit-Position: refs/heads/master@{#29778}
rmcilroy [Tue, 21 Jul 2015 15:54:16 +0000 (08:54 -0700)]
[turbofan] Change RawMachineAssembler to take a CallDescriptor instead of a MachineSignature.
The InterpreterAssembler needs to specify a specific CallDescriptor type
instead of using the SimplifiedCDescriptor type. This CL makes it possible
to specify the CallDescriptor used by the RawMachineAssembler instead of
specifying a MachineSignature.
Also removes instruction-selector-tester.h which was erroneously resurrected
at some point.
BUG=v8:4280
LOG=N
Review URL: https://codereview.chromium.org/
1235313002
Cr-Commit-Position: refs/heads/master@{#29777}
ulan [Tue, 21 Jul 2015 15:53:11 +0000 (08:53 -0700)]
Declare deleted copy constructor and assignment operator of v8::Global to take const parameters.
This is required in order for Globals to be stored in STL containers.
Patch from Aaron Link <aaronlink@google.com>
BUG=
Review URL: https://codereview.chromium.org/
1244033002
Cr-Commit-Position: refs/heads/master@{#29776}
dstence [Tue, 21 Jul 2015 15:52:02 +0000 (08:52 -0700)]
PPC: perf enhancement: Use larger heap page size on PPC.
Revisit of https://codereview.chromium.org/
910333004.
Use 4MB heap page size over the default of 1MB.
This change provides an improvement of 1.86% on the composite octane
benchmark score on PPC. This is 0.56% more than if --min_semi_space_size=4
was used to specify a 4MB heap page size.
Additionally, two more tests required modification to account for
configurable heap page size.
R=svenpanne@chromium.org, hpayer@chromium.org, danno@chromium.org, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1221433022
Cr-Commit-Position: refs/heads/master@{#29775}
mstarzinger [Tue, 21 Jul 2015 14:13:16 +0000 (07:13 -0700)]
[arm] Address TODO in CallConstructStub::Generate.
R=jacob.bramley@arm.com
Review URL: https://codereview.chromium.org/
1244023002
Cr-Commit-Position: refs/heads/master@{#29774}
mstarzinger [Tue, 21 Jul 2015 13:24:22 +0000 (06:24 -0700)]
[arm64] Address TODO in CallConstructStub::Generate.
R=jacob.bramley@arm.com
Review URL: https://codereview.chromium.org/
1245153002
Cr-Commit-Position: refs/heads/master@{#29773}
ulan [Tue, 21 Jul 2015 11:18:22 +0000 (04:18 -0700)]
ARM: make sure that the expected code size is computed in predictable scope.
BUG=v8:4277
LOG=NO
Review URL: https://codereview.chromium.org/
1251443002
Cr-Commit-Position: refs/heads/master@{#29772}
epertoso [Tue, 21 Jul 2015 10:52:43 +0000 (03:52 -0700)]
Always run the second pass of the phantom callbacks synchronously if --predictable or --optimize_for_size are set.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
1245093004
Cr-Commit-Position: refs/heads/master@{#29771}
aperez [Tue, 21 Jul 2015 09:28:34 +0000 (02:28 -0700)]
Fix missing "re" module import in GDB support script
The gdb-v8-support.py script uses the "re" module to match regular expression,
but it does not import it, resulting in an error when loading the script from
GDB. This patch adds the missing import.
BUG=
Review URL: https://codereview.chromium.org/
1245713002
Cr-Commit-Position: refs/heads/master@{#29770}
machenbach [Tue, 21 Jul 2015 08:51:55 +0000 (01:51 -0700)]
[test] Fix timeouts for simdjs perf tests.
Also remove deprecated android_arm configs.
TBR=bradnelson@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1244003002
Cr-Commit-Position: refs/heads/master@{#29769}
mlippautz [Tue, 21 Jul 2015 07:31:27 +0000 (00:31 -0700)]
Add scavenger events to GC tracer
BUG=
Review URL: https://codereview.chromium.org/
1235913002
Cr-Commit-Position: refs/heads/master@{#29768}
binji [Tue, 21 Jul 2015 03:28:39 +0000 (20:28 -0700)]
[d8] Remove deprecated calls from d8-readline
R=jochen@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1242973002
Cr-Commit-Position: refs/heads/master@{#29767}
v8-autoroll [Tue, 21 Jul 2015 03:26:32 +0000 (20:26 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
33c2e4149926da7262361323a111605877add859
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1247693002
Cr-Commit-Position: refs/heads/master@{#29766}
chunyang.dai [Tue, 21 Jul 2015 02:52:16 +0000 (19:52 -0700)]
X87: Debugger: prepare code for debugging on a per-function basis.
port
35c28ce0a742e58346d2dea009428cacd442040d (r29758).
original commit message:
Prior to this patch, we enter a global debug mode whenever a break point
is set. By entering this mode, all code is deoptimized and activated
frames are recompiled and redirected to newly compiled debug code.
After this patch, we only deoptimize/redirect for functions we want to
debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo
object attached to the SFI prevents optimization/inlining.
The result is that we can have optimized code for functions without break
points alongside functions that do have break points, which are not
optimized.
BUG=
Review URL: https://codereview.chromium.org/
1249503002
Cr-Commit-Position: refs/heads/master@{#29765}
mbrandy [Mon, 20 Jul 2015 17:20:51 +0000 (10:20 -0700)]
PPC: Debugger: prepare code for debugging on a per-function basis.
Port
35c28ce0a742e58346d2dea009428cacd442040d
Original commit message:
Prior to this patch, we enter a global debug mode whenever a break point
is set. By entering this mode, all code is deoptimized and activated
frames are recompiled and redirected to newly compiled debug code.
After this patch, we only deoptimize/redirect for functions we want to
debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo
object attached to the SFI prevents optimization/inlining.
The result is that we can have optimized code for functions without break
points alongside functions that do have break points, which are not
optimized.
R=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4132
LOG=N
Review URL: https://codereview.chromium.org/
1244823002
Cr-Commit-Position: refs/heads/master@{#29764}
danno [Mon, 20 Jul 2015 17:15:59 +0000 (10:15 -0700)]
[turbofan]: Add a context relaxation Reducer
In many cases, the context that TurboFan's ASTGraphBuilder or subsequent
reduction operations attaches to nodes does not need to be that exact
context, but rather only needs to be one with the same native context,
because it is used internally only to fetch the native context, e.g. for
creating and throwing exceptions.
This reducer recognizes common cases where the context that is specified
for a node can be relaxed to a canonical, less specific one. This
relaxed context can either be the enclosing function's context or a specific
Module or Script context that is explicitly created within the function.
This optimization is especially important for TurboFan-generated code stubs
which use context specialization and inlining to generate optimal code.
Without context relaxation, many extraneous moves are generated to pass
exactly the right context to internal functions like ToNumber and
AllocateHeapNumber, which only need the native context. By turning context
relaxation on, these moves disappear because all these common internal
context uses are unified to the context passed into the stub function, which
is typically already in the correct context register and remains there for
short stubs. It also eliminates the explicit use of a specialized context
constant in the code stub in these cases, which could cause memory leaks.
Review URL: https://codereview.chromium.org/
1244583003
Cr-Commit-Position: refs/heads/master@{#29763}
mstarzinger [Mon, 20 Jul 2015 16:02:08 +0000 (09:02 -0700)]
[turbofan] Move workaround with TDZ of 'this' variable.
Note that this just narrows the existing workaround for any 'this' in
derived constructors (having a temporal dead zone) so that we can still
recognize static cases correctly (i.e. when 'this' is provably outside
or inside the temporal dead zone).
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1245653002
Cr-Commit-Position: refs/heads/master@{#29762}
epertoso [Mon, 20 Jul 2015 15:56:11 +0000 (08:56 -0700)]
Takes the script offset into account when obtaining the column of the message.
R=jochen@chromium.org,yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1231663007
Cr-Commit-Position: refs/heads/master@{#29761}
jochen [Mon, 20 Jul 2015 15:17:53 +0000 (08:17 -0700)]
Add support for adding an external and a tagged pointer
This will be used to compute the base pointer of the new unified
representation for both on-heap and external typed arrays. The idea is
that either the external or the tagged pointer is 0 (although in
practice, if the tagged pointer is non-0, the external pointer will
contain the offset from the start of the on-heap typed array to the data
in the on-heap typed array).
The HAdd is marked as depending on new-space promotion, as the tagged
pointer might move during GC, and so the result of the addition needs to
be recomputed.
BUG=v8:3996
R=jarin@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1244693002
Cr-Commit-Position: refs/heads/master@{#29760}
epertoso [Mon, 20 Jul 2015 15:03:51 +0000 (08:03 -0700)]
Don't run the second pass of the pending phantom callbacks if the heap has been torn down.
R=jochen@chromium.org
BUG=511204
LOG=y
Review URL: https://codereview.chromium.org/
1246603002
Cr-Commit-Position: refs/heads/master@{#29759}
yangguo [Mon, 20 Jul 2015 14:53:28 +0000 (07:53 -0700)]
Debugger: prepare code for debugging on a per-function basis.
Prior to this patch, we enter a global debug mode whenever a break point
is set. By entering this mode, all code is deoptimized and activated
frames are recompiled and redirected to newly compiled debug code.
After this patch, we only deoptimize/redirect for functions we want to
debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo
object attached to the SFI prevents optimization/inlining.
The result is that we can have optimized code for functions without break
points alongside functions that do have break points, which are not
optimized.
R=mstarzinger@chromium.org, ulan@chromium.org
BUG=v8:4132
LOG=Y
Review URL: https://codereview.chromium.org/
1233073005
Cr-Commit-Position: refs/heads/master@{#29758}
jochen [Mon, 20 Jul 2015 14:49:21 +0000 (07:49 -0700)]
Fix stack trace printing in d8
R=yangguo@chromium.org
BUG=chromium:511988
LOG=n
Review URL: https://codereview.chromium.org/
1246643002
Cr-Commit-Position: refs/heads/master@{#29757}
rossberg [Mon, 20 Jul 2015 14:31:30 +0000 (07:31 -0700)]
[strong] Keep language mode consistent
R=mstarzinger@chromium.org
BUG=v8:4312
LOG=N
Review URL: https://codereview.chromium.org/
1240273002
Cr-Commit-Position: refs/heads/master@{#29756}
mstarzinger [Mon, 20 Jul 2015 14:18:44 +0000 (07:18 -0700)]
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
Review URL: https://codereview.chromium.org/
1217863006
Cr-Commit-Position: refs/heads/master@{#29755}
mstarzinger [Mon, 20 Jul 2015 14:15:03 +0000 (07:15 -0700)]
Add function literal variable to declaration list.
This adds the implicit function variable for a function literal to the
declarations list in scope analysis, instead of specially handling it
throughout all back-ends.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1245603003
Cr-Commit-Position: refs/heads/master@{#29754}
mstarzinger [Mon, 20 Jul 2015 13:50:19 +0000 (06:50 -0700)]
[turbofan] Support handling of default super calls.
This implements the missing %DefaultConstructorCallSuper runtime
functionality, thereby allowing all compilers to fall-back to that
implementation when the appropriate intrinsic is missing.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1240993002
Cr-Commit-Position: refs/heads/master@{#29753}
rossberg [Mon, 20 Jul 2015 13:48:57 +0000 (06:48 -0700)]
[es6] Check declaration conflicts between non-simple parameters and the function body
Also, more tests for parameters containing functions or eval or both.
R=adamk@chromium.org, caitpotter88@gmail.com, littledan@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/
1225413005
Cr-Commit-Position: refs/heads/master@{#29752}
hpayer [Mon, 20 Jul 2015 12:07:06 +0000 (05:07 -0700)]
Revert of Reland concurrent sweeping of code space. (patchset #5 id:80001 of https://codereview.chromium.org/
1225733002/)
Reason for revert:
Tests became flaky.
Original issue's description:
> Reland concurrent sweeping of code space.
>
> BUG=chromium:506778,chromium:506957,chromium:507211
> LOG=n
>
> Committed: https://crrev.com/
806b81f11e3bfaef0d4330c7669e6934074be9cb
> Cr-Commit-Position: refs/heads/master@{#29748}
TBR=jochen@chromium.org,mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:506778,chromium:506957,chromium:507211
Review URL: https://codereview.chromium.org/
1242743002
Cr-Commit-Position: refs/heads/master@{#29751}
yangguo [Mon, 20 Jul 2015 10:52:35 +0000 (03:52 -0700)]
Do not expect verbatim JPY symbol in test.
The choice for the symbol seems to be locale-dependent.
R=jochen@chromium.org
BUG=v8:4314
LOG=N
Review URL: https://codereview.chromium.org/
1238133003
Cr-Commit-Position: refs/heads/master@{#29750}
mstarzinger [Mon, 20 Jul 2015 10:37:43 +0000 (03:37 -0700)]
Fix installing of SIMD object on global object.
We should not install the SIMD object on the global object unless
support for SIMD is actually turned on by the flag. Otherwise calling
SIMD.Float32x4() will hit unreachable code. We accidentally SIMD.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1240223002
Cr-Commit-Position: refs/heads/master@{#29749}
hpayer [Mon, 20 Jul 2015 10:36:35 +0000 (03:36 -0700)]
Reland concurrent sweeping of code space.
BUG=chromium:506778,chromium:506957,chromium:507211
LOG=n
Review URL: https://codereview.chromium.org/
1225733002
Cr-Commit-Position: refs/heads/master@{#29748}
ishell [Mon, 20 Jul 2015 09:50:47 +0000 (02:50 -0700)]
Speedup some slow running stack-overflow tests.
BUG=chromium:505007
LOG=N
Review URL: https://codereview.chromium.org/
1238273003
Cr-Commit-Position: refs/heads/master@{#29747}
jacob.bramley [Mon, 20 Jul 2015 09:03:12 +0000 (02:03 -0700)]
Use a label-branch in CheckConstPool.
This removes a dependency on the size of the pool. Whilst the size is
checked in debug mode, it is still more robust to use a label.
This should also be cherry-picked to fix 4.4.63.20. (At that time, the
size of the pool was _not_ checked, and was sometimes wrong.)
This partially reverts 879550c, "[arm] Don't call branch_offset within
CheckConstPool." However, branch_offset now only blocks the constant
pool if it is not already blocked.
BUG=
Review URL: https://codereview.chromium.org/
1227403006
Cr-Commit-Position: refs/heads/master@{#29746}
adamk [Mon, 20 Jul 2015 09:00:51 +0000 (02:00 -0700)]
Fix element enumeration on String wrappers with dictionary elements
BUG=chromium:510426
LOG=n
Review URL: https://codereview.chromium.org/
1246513002
Cr-Commit-Position: refs/heads/master@{#29745}
yangguo [Mon, 20 Jul 2015 08:53:22 +0000 (01:53 -0700)]
Debugger: use FrameInspector in ScopeIterator to find context.
In optimized code, it's not guaranteed that the current context
is stored in its frame slot.
R=bmeurer@chromium.org
BUG=v8:4309
LOG=N
Committed: https://crrev.com/
3a0ee39cbde6a9778cfc4e2a6a0a8ff68933ff38
Cr-Commit-Position: refs/heads/master@{#29697}
Review URL: https://codereview.chromium.org/
1239033002
Cr-Commit-Position: refs/heads/master@{#29744}
ishell [Mon, 20 Jul 2015 08:49:09 +0000 (01:49 -0700)]
Crankshaft part of the 'loads and stores to global vars through property cell shortcuts' feature.
BUG=chromium:510738
LOG=N
Review URL: https://codereview.chromium.org/
1228113008
Cr-Commit-Position: refs/heads/master@{#29743}
jochen [Mon, 20 Jul 2015 07:05:42 +0000 (00:05 -0700)]
Reland of "Make d8 stop using to-be-deprecated APIs"
Original issue's description:
> BUG=v8:4134
> LOG=n
> R=yangguo@chromium.org
>
> Review URL: https://codereview.chromium.org/
1239053004
BUG=v8:4134
LOG=n
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1235603004
Cr-Commit-Position: refs/heads/master@{#29742}
jochen [Mon, 20 Jul 2015 06:54:54 +0000 (23:54 -0700)]
Unittests don't use deprecated APIs. Yay!
Make sure it stays that way
BUG=v8:4134
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1242563003
Cr-Commit-Position: refs/heads/master@{#29741}
jochen [Mon, 20 Jul 2015 06:53:46 +0000 (23:53 -0700)]
Make vtune-jit stop using deprecated APIs
BUG=v8:4134
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1244433003
Cr-Commit-Position: refs/heads/master@{#29740}
v8-autoroll [Sun, 19 Jul 2015 03:26:34 +0000 (20:26 -0700)]
Update V8 DEPS.
Rolling v8/testing/gtest to
00a70a9667d92a4695d84e4fa36b64f611f147da
Rolling v8/tools/clang to
6ea730d39bf31911ccef92397dbc8d71136d3899
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1228063006
Cr-Commit-Position: refs/heads/master@{#29739}
v8-autoroll [Sat, 18 Jul 2015 03:29:17 +0000 (20:29 -0700)]
Update V8 DEPS.
Rolling v8/third_party/icu to
508e9274baaa5caa8de9cf4c26a24e926a15ccf0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1236133007
Cr-Commit-Position: refs/heads/master@{#29738}
caitpotter88 [Fri, 17 Jul 2015 21:44:26 +0000 (14:44 -0700)]
[d8] bounds-check before getting Shell::Worker internal field
Prevents fatal error in debug builds
BUG=v8:4271, 506954
R=binji@chromium.org
LOG=N
Committed: https://crrev.com/
43ce9c6f101c4224addd9a54e0c39963188dc7fa
Cr-Commit-Position: refs/heads/master@{#29524}
Review URL: https://codereview.chromium.org/
1214053004
Cr-Commit-Position: refs/heads/master@{#29737}
binji [Fri, 17 Jul 2015 17:11:32 +0000 (10:11 -0700)]
Atomics Futex API
BUG=chromium:497295
R=jarin@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1208933006
Cr-Commit-Position: refs/heads/master@{#29736}
dusan.milosavljevic [Fri, 17 Jul 2015 15:59:31 +0000 (08:59 -0700)]
MIPS: Fix missing falthru handling for some branch cases in TF.
TEST=mjsunit/asm/embenchen/zlib
BUG=
Review URL: https://codereview.chromium.org/
1232313007
Cr-Commit-Position: refs/heads/master@{#29735}
hichris123 [Fri, 17 Jul 2015 15:07:55 +0000 (08:07 -0700)]
Make NumberFormat use the ICU currency data, fix bug in NumberFormat
NumberFormat previously just used a min of 0 digits after the decimal and a max of 3. This CL changes it so that we use the ICU currency data, and set the min and max to the number of numbers after the decimal point for each currency.
This CL also fixes a small bug where if the minimum fraction digits is above 3 but the maximum fraction digits isn't set, then it returns with only three numbers after the decimal point.
BUG=435465,473104,304722
LOG=Y
Review URL: https://codereview.chromium.org/
1231613006
Cr-Commit-Position: refs/heads/master@{#29734}
verwaest [Fri, 17 Jul 2015 14:11:43 +0000 (07:11 -0700)]
Properly fix enumerate / Object.keys wrt access checked objects
BUG=chromium:509936
LOG=y
Review URL: https://codereview.chromium.org/
1241953010
Cr-Commit-Position: refs/heads/master@{#29733}
mbrandy [Fri, 17 Jul 2015 14:06:19 +0000 (07:06 -0700)]
PPC: Fix memento initialization when constructing from new call
Port
3285e3bf071a2575a827c5b29fe389a72dbf8966
Original commit message
Additionally, push the allocation site or undefined independently
of creating a memento to preserve a fixed size for the construct
frames.
R=mlippautz@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1229163005
Cr-Commit-Position: refs/heads/master@{#29732}
paul.lind [Fri, 17 Jul 2015 13:56:44 +0000 (06:56 -0700)]
MIPS64: Fix string stubs.
An innocent-looking change in '
c63e50ed Reland Update V8 DEPS.' exposed
latent bugs in SubStringStub and StringCharFromCodeGenerator.
TEST=mjsunit/string-replace, msjunit/string-split, others....
BUG=
Review URL: https://codereview.chromium.org/
1233903003
Cr-Commit-Position: refs/heads/master@{#29731}
machenbach [Fri, 17 Jul 2015 13:53:40 +0000 (06:53 -0700)]
Revert of Make d8 stop using to-be-deprecated APIs (patchset #3 id:40001 of https://codereview.chromium.org/
1239053004/)
Reason for revert:
[Sheriff] Breaks:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20code%20serializer/builds/3400
Original issue's description:
> Make d8 stop using to-be-deprecated APIs
>
> BUG=v8:4134
> LOG=n
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/
af82ef84b4f851411f00e69167ab29382c7499b8
> Cr-Commit-Position: refs/heads/master@{#29726}
TBR=yangguo@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4134
Review URL: https://codereview.chromium.org/
1240993003
Cr-Commit-Position: refs/heads/master@{#29730}
ishell [Fri, 17 Jul 2015 13:30:53 +0000 (06:30 -0700)]
Revert of Reland "Enable loads and stores to global vars through property cell shortcuts installed into paren… (patchset #1 id:1 of https://codereview.chromium.org/
1237043006/)
Reason for revert:
chromium:510738, chromium:510911
Original issue's description:
> Reland "Enable loads and stores to global vars through property cell shortcuts installed into parent script context."
>
> Committed: https://crrev.com/
48584df5ed97e2cdec1b4900f783c47adc3a3d32
> Cr-Commit-Position: refs/heads/master@{#29670}
TBR=verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1238163002
Cr-Commit-Position: refs/heads/master@{#29729}
verwaest [Fri, 17 Jul 2015 12:57:23 +0000 (05:57 -0700)]
Fix object enumeration wrt access checked objects
BUG=chromium:509936
LOG=y
Review URL: https://codereview.chromium.org/
1228113007
Cr-Commit-Position: refs/heads/master@{#29728}
verwaest [Fri, 17 Jul 2015 12:55:16 +0000 (05:55 -0700)]
Fix DefineOwnProperty for data properties wrt failed access checks
BUG=chromium:509936
LOG=y
Review URL: https://codereview.chromium.org/
1241973003
Cr-Commit-Position: refs/heads/master@{#29727}
jochen [Fri, 17 Jul 2015 12:44:50 +0000 (05:44 -0700)]
Make d8 stop using to-be-deprecated APIs
BUG=v8:4134
LOG=n
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1239053004
Cr-Commit-Position: refs/heads/master@{#29726}
verwaest [Fri, 17 Jul 2015 12:30:05 +0000 (05:30 -0700)]
Fix GetOwnPropertyNames on access-checked objects
BUG=chromium:509936
LOG=y
Review URL: https://codereview.chromium.org/
1242123002
Cr-Commit-Position: refs/heads/master@{#29725}
jochen [Fri, 17 Jul 2015 12:21:39 +0000 (05:21 -0700)]
Improve presubmit check for BUG line
Don't chicken out on upload already, and ignore 'none' value
BUG=none
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1237353003
Cr-Commit-Position: refs/heads/master@{#29724}
chunyang.dai [Fri, 17 Jul 2015 10:07:03 +0000 (03:07 -0700)]
X87: Fix memento initialization when constructing from new call
port
3285e3bf071a2575a827c5b29fe389a72dbf8966 (r29719).
original commit message:
Additionally, push the allocation site or undefined independently of creatin
BUG=
Review URL: https://codereview.chromium.org/
1229023003
Cr-Commit-Position: refs/heads/master@{#29723}
yangguo [Fri, 17 Jul 2015 09:53:41 +0000 (02:53 -0700)]
Revert of Debugger: use FrameInspector in ScopeIterator to find context. (patchset #3 id:40001 of https://codereview.chromium.org/
1239033002/)
Reason for revert:
breaks roll: http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/87292/steps/browser_tests%20%28with%20patch%29/logs/DevToolsSanityTest.TestPauseWhenScriptIsRunning
Original issue's description:
> Debugger: use FrameInspector in ScopeIterator to find context.
>
> In optimized code, it's not guaranteed that the current context
> is stored in its frame slot.
>
> R=bmeurer@chromium.org
> BUG=v8:4309
> LOG=N
>
> Committed: https://crrev.com/
3a0ee39cbde6a9778cfc4e2a6a0a8ff68933ff38
> Cr-Commit-Position: refs/heads/master@{#29697}
TBR=bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4309
Review URL: https://codereview.chromium.org/
1243553002
Cr-Commit-Position: refs/heads/master@{#29722}
verwaest [Fri, 17 Jul 2015 09:37:27 +0000 (02:37 -0700)]
Fix getPrototypeOf for access checked objects
BUG=chromium:509936
LOG=y
Review URL: https://codereview.chromium.org/
1242093002
Cr-Commit-Position: refs/heads/master@{#29721}
jochen [Fri, 17 Jul 2015 09:26:42 +0000 (02:26 -0700)]
Delete APIs deprecated since last release
BUG=none
R=verwaest@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1114873002
Cr-Commit-Position: refs/heads/master@{#29720}
mlippautz [Fri, 17 Jul 2015 08:51:24 +0000 (01:51 -0700)]
Fix memento initialization when constructing from new call
Additionally, push the allocation site or undefined independently of creating a memento to preserve a fixed size for the construct frames.
BUG=
Review URL: https://codereview.chromium.org/
1239593003
Cr-Commit-Position: refs/heads/master@{#29719}
v8-autoroll [Fri, 17 Jul 2015 03:28:12 +0000 (20:28 -0700)]
Update V8 DEPS.
Rolling v8/buildtools to
125d157607de4d7c95bf8b02dd580aae17962f19
Rolling v8/third_party/android_tools to
2abd22b08cd757f88362f44b02484de43e4b9611
Rolling v8/third_party/icu to
ffeeae138703e692f07d2c438203f32b84e7a094
Rolling v8/tools/clang to
f729011d84762dfae62bbf4218580367dbfc7451
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1238783004
Cr-Commit-Position: refs/heads/master@{#29718}
littledan [Fri, 17 Jul 2015 00:21:11 +0000 (17:21 -0700)]
Additional TypedArray tests
- Test that TypedArray properties cannot be set in strict mode
Properties like %TypedArray%.prototype.length have a getter and no
setter. This test verifies that property, which was apparently not
true in the past or had no test ensuring throwing in this case.
- Test that TypedArray integer indexed properties (array elements)
are not configurable
Both of these have passed for some time, but there are open bugs against
them and apparently no tests verifying that they are fixed.
BUG=v8:3048, v8:3799
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/
1232843005
Cr-Commit-Position: refs/heads/master@{#29717}
littledan [Thu, 16 Jul 2015 23:12:06 +0000 (16:12 -0700)]
Array.prototype.reverse should call [[HasProperty]] on elements before [[Get]]
This is a change from ES5 to ES6: When reversing an array, first it is checked
whether the element exists, before the element is looked up. The order in ES6
is
[[HasElement]] lower
[[Get]] lower (if present)
[[HasElement]] upper
[[Get]] upper (if present)
In ES5, on the other hand, the order was
[[Get]] lower
[[Get]] upper
[[HasElement]] lower
[[HasElement]] upper
To mitigate the performance impact, this patch implements a new, third copy
of reversing arrays if %_HasPackedElements. This allows us to skip all
membership tests, and a quick and dirty benchmark shows that the new version
is faster:
Over 4 runs, the slowest for the new version:
d8> var start = Date.now(); for (var i = 0; i <
100000000; i++) [1, 2, 3, 4, 5].reverse(); Date.now() - start
4658
Over 3 runs, the fastest for the old version:
d8> var start = Date.now(); for (var i = 0; i <
100000000; i++) [1, 2, 3, 4, 5].reverse(); Date.now() - start
5176
BUG=v8:4223
R=adamk
LOG=Y
Review URL: https://codereview.chromium.org/
1238593003
Cr-Commit-Position: refs/heads/master@{#29716}
littledan [Thu, 16 Jul 2015 21:55:31 +0000 (14:55 -0700)]
In RegExp, lastIndex is read with ToLength, not ToInteger
ES2015 made a change vs ES5, where the "lastIndex" property of a
RegExp (which can be modified by a user to start the next search at
a different location) is cast to an integer with ToLength rather
than ToInteger. The main difference is on negative numbers, and
this is tested by test262. This patch implements that change on
RegExps and enables the test262 test now that it passes.
R=adamk
LOG=Y
BUG=v8:4244
Review URL: https://codereview.chromium.org/
1241713004
Cr-Commit-Position: refs/heads/master@{#29715}
adamk [Thu, 16 Jul 2015 20:48:17 +0000 (13:48 -0700)]
Stage --harmony-new-target
BUG=v8:3887
LOG=y
Review URL: https://codereview.chromium.org/
1238693004
Cr-Commit-Position: refs/heads/master@{#29714}
adamk [Thu, 16 Jul 2015 19:44:31 +0000 (12:44 -0700)]
Re-ship harmony spread calls and spread arrays
The issue with spread arrays which caused us to turn it off was fixed in
https://chromium.googlesource.com/v8/v8/+/
24e98281
BUG=v8:3018
LOG=y
Review URL: https://codereview.chromium.org/
1239873002
Cr-Commit-Position: refs/heads/master@{#29713}
bbudge [Thu, 16 Jul 2015 19:43:21 +0000 (12:43 -0700)]
Expose SIMD.Float32x4 type to Javascript.
This CL exposes the constructor function, defines type related
information, and implements value type semantics.
It also refactors test/mjsunit/samevalue.js to test SameValue and SameValueZero.
TEST=test/mjsunit/harmony/simd.js, test/cctest/test-simd.cc
LOG=Y
BUG=v8:4124
Committed: https://crrev.com/
e5ed3bee99807c502fa7d7a367ec401e16d3f773
Cr-Commit-Position: refs/heads/master@{#29689}
Review URL: https://codereview.chromium.org/
1219943002
Cr-Commit-Position: refs/heads/master@{#29712}
adamk [Thu, 16 Jul 2015 19:42:00 +0000 (12:42 -0700)]
Revert of [turbofan] Ship TF for try-catch statements. (patchset #1 id:1 of https://codereview.chromium.org/
1216373002/)
Reason for revert:
Causes gbemu-part1 to time out on Linux dbg builders
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/3867/
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20code%20serializer/builds/3386/
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20greedy%20allocator/builds/828/
Original issue's description:
> [turbofan] Ship TF for try-catch statements.
>
> R=hablich@chromium.org
> BUG=v8:4131
> LOG=N
>
> Committed: https://crrev.com/
1251d02e7bb2a13ae5cf6fda5d3403730d2ae12f
> Cr-Commit-Position: refs/heads/master@{#29708}
TBR=hablich@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4131
Review URL: https://codereview.chromium.org/
1234363003
Cr-Commit-Position: refs/heads/master@{#29711}