platform/upstream/v8.git
9 years agoCorrectly parse line ends for debugging.
Yang Guo [Thu, 8 Jan 2015 10:45:58 +0000 (11:45 +0100)]
Correctly parse line ends for debugging.

Instead of using only \n as line terminator, we now use the definition
in http://www.ecma-international.org/ecma-262/5.1/#sec-7.3

R=marja@chromium.org
BUG=v8:2825
LOG=Y

Review URL: https://codereview.chromium.org/821383009

Cr-Commit-Position: refs/heads/master@{#25989}

9 years agoFixed printing during DCE.
svenpanne [Thu, 8 Jan 2015 09:53:53 +0000 (01:53 -0800)]
Fixed printing during DCE.

Removed a superfluous space on the way.

BUG=v8:3679
LOG=y

Review URL: https://codereview.chromium.org/843673004

Cr-Commit-Position: refs/heads/master@{#25988}

9 years ago[turbofan] Correctify representation changes to bit.
bmeurer [Thu, 8 Jan 2015 09:48:30 +0000 (01:48 -0800)]
[turbofan] Correctify representation changes to bit.

TEST=cctest/test-representation-change,unittests,mjsunit/compiler/regress-bit-number-constant
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/840953003

Cr-Commit-Position: refs/heads/master@{#25987}

9 years agoRun "gn format" on v8's BUILD.gn file.
brettw [Thu, 8 Jan 2015 09:35:16 +0000 (01:35 -0800)]
Run "gn format" on v8's BUILD.gn file.

There should be no functional change.

This is a reland of a portion of https://codereview.chromium.org/834113005/

Review URL: https://codereview.chromium.org/787873003

Cr-Commit-Position: refs/heads/master@{#25986}

9 years agoRevert of Add d8 target to the GN build. (patchset #2 id:40001 of https://codereview...
yangguo [Thu, 8 Jan 2015 08:38:13 +0000 (00:38 -0800)]
Revert of Add d8 target to the GN build. (patchset #2 id:40001 of https://codereview.chromium.org/834113005/)

Reason for revert:
V8 roll fails due to this change. (see https://codereview.chromium.org/843673003/)

Original issue's description:
> Add d8 target to the GN build.
>
> Also formats the rest of the file with "gn format". This accounts for all the changes except for the "d8" target additions.
>
> Committed: https://crrev.com/36383f08c1f692ea797d54a27d7c6b3d3d53b440
> Cr-Commit-Position: refs/heads/master@{#25984}

TBR=jochen@chromium.org,machenbach@chromium.org,brettw@chromium.org
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/838983002

Cr-Commit-Position: refs/heads/master@{#25985}

9 years agoAdd d8 target to the GN build.
brettw [Thu, 8 Jan 2015 05:16:32 +0000 (21:16 -0800)]
Add d8 target to the GN build.

Also formats the rest of the file with "gn format". This accounts for all the changes except for the "d8" target additions.

Review URL: https://codereview.chromium.org/834113005

Cr-Commit-Position: refs/heads/master@{#25984}

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 8 Jan 2015 04:30:59 +0000 (20:30 -0800)]
Update V8 DEPS.

Rolling v8/build/gyp to 82b08049cc0b1f9e0bdcc0702ac6b523360f635f

Rolling v8/tools/clang to 24bed8c99d57ebfad05890c21f03f31af39dc6d4

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/844663003

Cr-Commit-Position: refs/heads/master@{#25983}

9 years agoHack around broken snapshot generation in the GN build on Android.
eseidel [Wed, 7 Jan 2015 20:39:21 +0000 (12:39 -0800)]
Hack around broken snapshot generation in the GN build on Android.

The generated snapshot just crashes on the device, but
disabling snapshots allows us to run V8 just fine which
is sufficient for our purposes at this point.

Mojo/Sky are GN-only so we depend on the V8 GN build even if
it's not considered production for Chromium yet.

R=jochen@chromium.org

Review URL: https://codereview.chromium.org/832413005

Cr-Commit-Position: refs/heads/master@{#25982}

9 years agoremove declarative accessors
dcarney [Wed, 7 Jan 2015 16:37:26 +0000 (08:37 -0800)]
remove declarative accessors

R=jochen@chromium.org

BUG=

Review URL: https://codereview.chromium.org/834443004

Cr-Commit-Position: refs/heads/master@{#25981}

9 years agoFix sourceURL & sourceMapURL handling in case of background parsing
sergeyv [Wed, 7 Jan 2015 15:56:11 +0000 (07:56 -0800)]
Fix sourceURL & sourceMapURL handling in case of background parsing

BUG=

Review URL: https://codereview.chromium.org/821723002

Cr-Commit-Position: refs/heads/master@{#25980}

9 years ago[turbofan] Fix bit representation of NumberConstant.
bmeurer [Wed, 7 Jan 2015 15:44:13 +0000 (07:44 -0800)]
[turbofan] Fix bit representation of NumberConstant.

TEST=mjsunit/compiler/regress-bit-number-constant

Review URL: https://codereview.chromium.org/839813002

Cr-Commit-Position: refs/heads/master@{#25979}

9 years agoCorrect handling of exceptions occured during getting of exception stack trace.
ishell [Wed, 7 Jan 2015 14:50:11 +0000 (06:50 -0800)]
Correct handling of exceptions occured during getting of exception stack trace.

BUG=chromium:444805
LOG=Y

Review URL: https://codereview.chromium.org/793333003

Cr-Commit-Position: refs/heads/master@{#25978}

9 years ago[turbofan] Cleanup Graph and related classes.
bmeurer [Wed, 7 Jan 2015 14:42:38 +0000 (06:42 -0800)]
[turbofan] Cleanup Graph and related classes.

- Move NodeMarker to its own file, and introduce a non
  templatized base class.
- Cleanup the include hell.
- Sanitize the Node construction methods now that we
  got rid of that GenericNode/GenericGraph stuff.
- Protect against NodeId overflow in Graph.
- Various minor cleanups.

TEST=cctest,mjsunit,unittests

Review URL: https://codereview.chromium.org/838783002

Cr-Commit-Position: refs/heads/master@{#25977}

9 years agomake check failures unlikely
dcarney [Wed, 7 Jan 2015 14:40:39 +0000 (06:40 -0800)]
make check failures unlikely

BUG=

Review URL: https://codereview.chromium.org/843513002

Cr-Commit-Position: refs/heads/master@{#25976}

9 years agoRevert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview...
jochen [Wed, 7 Jan 2015 14:15:26 +0000 (06:15 -0800)]
Revert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview.chromium.org/832183004/)

Reason for revert:
revert

Original issue's description:
> Turn on job-based recompilation
>
> BUG=v8:3608
> LOG=y
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/715552409b4a08504301cf1ad4cb2e45a815f01b
> Cr-Commit-Position: refs/heads/master@{#25972}

TBR=yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608

Review URL: https://codereview.chromium.org/791033007

Cr-Commit-Position: refs/heads/master@{#25975}

9 years agoFix bug in Runtime_CompileOptimized resulting from stack overflow.
titzer [Wed, 7 Jan 2015 13:43:31 +0000 (05:43 -0800)]
Fix bug in Runtime_CompileOptimized resulting from stack overflow.

R=jarin@chromium.org
BUG=chromium:446389
LOG=Y

Review URL: https://codereview.chromium.org/844503002

Cr-Commit-Position: refs/heads/master@{#25974}

9 years agoRemove the magic that sets CXX in the toplevel Makefile
jochen [Wed, 7 Jan 2015 13:33:10 +0000 (05:33 -0800)]
Remove the magic that sets CXX in the toplevel Makefile

The logic was supposed to trigger a rebuild if the CXX variable is
changed. However, it failed to track the other compiler related
variables, and, what is worse, conflicted with the clang=1 gyp setting
by forcing CXX to g++

The new logic just relies on tracking GYP defines, and checks whether
the CXX binary - if set - has a target different from the host
architecture.

BUG=none
R=jkummerow@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/807143003

Cr-Commit-Position: refs/heads/master@{#25973}

9 years agoTurn on job-based recompilation
jochen [Wed, 7 Jan 2015 13:30:51 +0000 (05:30 -0800)]
Turn on job-based recompilation

BUG=v8:3608
LOG=y
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/832183004

Cr-Commit-Position: refs/heads/master@{#25972}

9 years agoFix debug-debugger.js wrt strict mode.
yangguo [Wed, 7 Jan 2015 13:08:10 +0000 (05:08 -0800)]
Fix debug-debugger.js wrt strict mode.

R=rossberg@chromium.org
BUG=v8:3790
LOG=N

Review URL: https://codereview.chromium.org/813873007

Cr-Commit-Position: refs/heads/master@{#25971}

9 years ago[turbofan] remove spill slot reuse flag
dcarney [Wed, 7 Jan 2015 12:46:01 +0000 (04:46 -0800)]
[turbofan] remove spill slot reuse flag

BUG=

Review URL: https://codereview.chromium.org/837173002

Cr-Commit-Position: refs/heads/master@{#25970}

9 years ago[x86] Blacklist AVX for all Mac OS versions up to 10.9.
Benedikt Meurer [Wed, 7 Jan 2015 12:10:44 +0000 (13:10 +0100)]
[x86] Blacklist AVX for all Mac OS versions up to 10.9.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/808333005

Cr-Commit-Position: refs/heads/master@{#25969}

9 years ago[turbofan] remove checks for virtual register overflow
dcarney [Wed, 7 Jan 2015 12:00:38 +0000 (04:00 -0800)]
[turbofan] remove checks for virtual register overflow

R=bmeurer@chromium.org

BUG=

Review URL: https://codereview.chromium.org/810403003

Cr-Commit-Position: refs/heads/master@{#25968}

9 years agoRestrict representation inference to avoid truncation of phi inputs.
jarin [Wed, 7 Jan 2015 11:38:42 +0000 (03:38 -0800)]
Restrict representation inference to avoid truncation of phi inputs.

BUG=chromium:446778
LOG=N

Review URL: https://codereview.chromium.org/837153002

Cr-Commit-Position: refs/heads/master@{#25967}

9 years agoEnable serializing eagerly compiled inner functions.
yangguo [Wed, 7 Jan 2015 11:24:39 +0000 (03:24 -0800)]
Enable serializing eagerly compiled inner functions.

R=jochen@chromium.org

Review URL: https://codereview.chromium.org/830143004

Cr-Commit-Position: refs/heads/master@{#25966}

9 years ago[x86] Disable AVX on Mac OS X 10.9.
bmeurer [Wed, 7 Jan 2015 10:03:39 +0000 (02:03 -0800)]
[x86] Disable AVX on Mac OS X 10.9.

Mac OS X 10.9 (Mavericks) has a bug that causes AVX transitions in ISRs,
so we better not use AVX there.

Review URL: https://codereview.chromium.org/826683003

Cr-Commit-Position: refs/heads/master@{#25965}

9 years agoAdd script to generate the v8 version.
machenbach [Wed, 7 Jan 2015 08:52:31 +0000 (00:52 -0800)]
Add script to generate the v8 version.

BUG=chromium:446166
LOG=n
TBR=jkummerow@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/835903003

Cr-Commit-Position: refs/heads/master@{#25964}

9 years ago[turbofan] Generalize constant propagation.
bmeurer [Wed, 7 Jan 2015 08:24:24 +0000 (00:24 -0800)]
[turbofan] Generalize constant propagation.

Also support additional number types (singleton ranges, NaN and minus
zero) for constant propagation in typed lowering.

TEST=unittests

Review URL: https://codereview.chromium.org/829303002

Cr-Commit-Position: refs/heads/master@{#25963}

9 years agoPrint the SharedFunctionInfo besides the function name, makes matching against -...
Sven Panne [Wed, 7 Jan 2015 08:14:15 +0000 (09:14 +0100)]
Print the SharedFunctionInfo besides the function name, makes matching against --trace_opt output easier.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/816013002

Cr-Commit-Position: refs/heads/master@{#25962}

9 years agojust a typo
yunchao.he [Wed, 7 Jan 2015 07:44:48 +0000 (23:44 -0800)]
just a typo

BUG=

Review URL: https://codereview.chromium.org/809303004

Cr-Commit-Position: refs/heads/master@{#25961}

9 years agoDisable test case for turbofan unsupported platform.
chunyang.dai [Tue, 6 Jan 2015 12:09:13 +0000 (04:09 -0800)]
Disable test case for turbofan unsupported platform.

  Test case LowerAnyToBoolean_tagged_tagged invokes "Linkage::GetStubCallDescriptor(...)"
  function but this function is not implemented on turbofan unsupported platform.

BUG=

Review URL: https://codereview.chromium.org/836973002

Cr-Commit-Position: refs/heads/master@{#25960}

9 years agoMake control reducer revisit newly introduced merges.
jarin [Mon, 5 Jan 2015 16:35:12 +0000 (08:35 -0800)]
Make control reducer revisit newly introduced merges.

TEST=mjsunit/compiler/regress-445876
BUG=chromium:445876
LOG=N

Review URL: https://codereview.chromium.org/830293003

Cr-Commit-Position: refs/heads/master@{#25959}

9 years ago[turbofan] Correctify JSToBoolean lowering.
Benedikt Meurer [Mon, 5 Jan 2015 13:44:13 +0000 (14:44 +0100)]
[turbofan] Correctify JSToBoolean lowering.

Introduce a new AnyToBoolean simplified operator to handle the later
lowering of boolean conversions. Previously we tried to hack that with
the generic JSToBoolean, having its context set to zero, but that lead
to various problems/bugs and did not handle all cases.

TEST=cctest,unittests
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/800833003

Cr-Commit-Position: refs/heads/master@{#25958}

9 years ago[turbofan] Don't crash when typing load from a Uint8ClampedArray.
Benedikt Meurer [Mon, 5 Jan 2015 13:43:31 +0000 (14:43 +0100)]
[turbofan] Don't crash when typing load from a Uint8ClampedArray.

TEST=mjsunit/compiler/regress-446156
BUG=chromium:446156
LOG=y
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/835883003

Cr-Commit-Position: refs/heads/master@{#25957}

9 years ago[turbofan] Fix incorrect minus zero handling in the unit tests.
bmeurer [Mon, 5 Jan 2015 12:29:04 +0000 (04:29 -0800)]
[turbofan] Fix incorrect minus zero handling in the unit tests.

TEST=unittests
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/831203003

Cr-Commit-Position: refs/heads/master@{#25956}

9 years agoWhitespace commit to trigger bots.
Michael Achenbach [Sun, 4 Jan 2015 23:18:10 +0000 (00:18 +0100)]
Whitespace commit to trigger bots.

Cr-Commit-Position: refs/heads/master@{#25955}

9 years agoWhitespace commit to trigger bots.
Michael Achenbach [Sun, 4 Jan 2015 12:53:00 +0000 (13:53 +0100)]
Whitespace commit to trigger bots.

Cr-Commit-Position: refs/heads/master@{#25954}

9 years agoDo not reduce effect phis for loops.
jarin [Sat, 3 Jan 2015 12:45:46 +0000 (04:45 -0800)]
Do not reduce effect phis for loops.

This prevents eliminating effectful statements before the loop.

BUG=

Review URL: https://codereview.chromium.org/830923002

Cr-Commit-Position: refs/heads/master@{#25953}

9 years ago[turbofan] Cache common Loop, Merge and Parameter operators.
bmeurer [Fri, 2 Jan 2015 14:16:42 +0000 (06:16 -0800)]
[turbofan] Cache common Loop, Merge and Parameter operators.

R=jarin@chromium.org
BUG=v8:3792
LOG=n

Review URL: https://codereview.chromium.org/835663002

Cr-Commit-Position: refs/heads/master@{#25952}

9 years ago[turbofan] Truncation of Bit/Word8/16 to Word32 is a no-op.
bmeurer [Fri, 2 Jan 2015 10:39:00 +0000 (02:39 -0800)]
[turbofan] Truncation of Bit/Word8/16 to Word32 is a no-op.

TEST=mjsunit/compiler/regress-445859
BUG=chromium:445859
LOG=y
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/828313002

Cr-Commit-Position: refs/heads/master@{#25951}

9 years ago[x64] Rearrange code for OOB integer loads.
bmeurer [Fri, 2 Jan 2015 10:15:23 +0000 (02:15 -0800)]
[x64] Rearrange code for OOB integer loads.

We cannot just clear the result register optimistically, because the
register allocator might assign the same register to result and buffer.

TEST=mjsunit/compiler/regress-445858
BUG=chromium:445858
LOG=y
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/828303002

Cr-Commit-Position: refs/heads/master@{#25950}

9 years agoFix %NeverOptimizeFunction() intrinsic.
bmeurer [Fri, 2 Jan 2015 08:17:50 +0000 (00:17 -0800)]
Fix %NeverOptimizeFunction() intrinsic.

Set a valid reason for disabling optimization when using
%NeverOptimizeFunction.

TEST=mjsunit/compiler/regress-445732
BUG=chromium:445732
LOG=y
TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/832003002

Cr-Commit-Position: refs/heads/master@{#25949}

9 years ago[turbofan] Fix missing MachineOperator unittest.
bmeurer [Fri, 2 Jan 2015 07:43:34 +0000 (23:43 -0800)]
[turbofan] Fix missing MachineOperator unittest.

The machine-operator-unittest.cc file was missing from unittests.gyp.
Fixed the compiler errors and added it back.

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/824243003

Cr-Commit-Position: refs/heads/master@{#25948}

9 years agoWhitespace change to trigger bots.
Michael Achenbach [Wed, 31 Dec 2014 13:01:02 +0000 (14:01 +0100)]
Whitespace change to trigger bots.

Cr-Commit-Position: refs/heads/master@{#25947}

9 years agoWork around 'Text file busy' errors in android perf runner.
machenbach [Wed, 31 Dec 2014 11:16:00 +0000 (03:16 -0800)]
Work around 'Text file busy' errors in android perf runner.

BUG=374740
TBR=ulan@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/830753002

Cr-Commit-Position: refs/heads/master@{#25946}

9 years ago[turbofan] Fix invalid bounds check with overflowing offset.
bmeurer [Mon, 29 Dec 2014 10:01:05 +0000 (02:01 -0800)]
[turbofan] Fix invalid bounds check with overflowing offset.

TEST=mjsunit/compiler/regress-445267
BUG=chromium:445267
LOG=y

Review URL: https://codereview.chromium.org/825403002

Cr-Commit-Position: refs/heads/master@{#25945}

9 years agoUpdate V8 DEPS.
v8-autoroll [Mon, 29 Dec 2014 04:29:34 +0000 (20:29 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to c945be21f6485fa177b43814f910b76cce921653

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/829733002

Cr-Commit-Position: refs/heads/master@{#25944}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 27 Dec 2014 04:30:25 +0000 (20:30 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 51f59463cfea7fc19d085253cf9bd40c1b4c0038

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/830473002

Cr-Commit-Position: refs/heads/master@{#25943}

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 26 Dec 2014 04:30:47 +0000 (20:30 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 6f504ec1a843c7c6af799768a774dec205ce4f3b

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/822073003

Cr-Commit-Position: refs/heads/master@{#25942}

9 years ago[turbofan] Raise max virtual registers and call parameter limit.
bmeurer [Thu, 25 Dec 2014 18:17:49 +0000 (10:17 -0800)]
[turbofan] Raise max virtual registers and call parameter limit.

Change InstructionOperand to use a 64-bit field for encoding the operand
information instead of the 32-bit field that was used before. Ideally we
wouldn't use the Zone-allocated bit field at all, and use an integer
instead of the pointer; but that requires fixing the register allocator
first, which will take some time.

TEST=mjsunit/compiler/regress-3786
BUG=v8:3786
LOG=y

Review URL: https://codereview.chromium.org/826673002

Cr-Commit-Position: refs/heads/master@{#25941}

9 years agoRemove UNREACHABLE() statements from sys-info.cc
jochen [Tue, 23 Dec 2014 19:25:09 +0000 (11:25 -0800)]
Remove UNREACHABLE() statements from sys-info.cc

We have safe fallbacks in all cases, and it's possible to hit those
codepaths, e.g., on Linux when /proc is not mounted

BUG=v8:3544
R=ulan@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/818213002

Cr-Commit-Position: refs/heads/master@{#25940}

9 years ago[turbofan] Turn IrOpcode::Mnemonic() into a table lookup.
bmeurer [Tue, 23 Dec 2014 19:24:03 +0000 (11:24 -0800)]
[turbofan] Turn IrOpcode::Mnemonic() into a table lookup.

R=ishell@chromium.org

Review URL: https://codereview.chromium.org/818203002

Cr-Commit-Position: refs/heads/master@{#25939}

9 years agoDon't pass -pie when building a shared library build on android
jochen [Tue, 23 Dec 2014 19:22:53 +0000 (11:22 -0800)]
Don't pass -pie when building a shared library build on android

BUG=none
R=ulan@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/822933002

Cr-Commit-Position: refs/heads/master@{#25938}

9 years ago[turbofan] Cache float32 constants on the JSGraph level.
bmeurer [Tue, 23 Dec 2014 14:12:04 +0000 (06:12 -0800)]
[turbofan] Cache float32 constants on the JSGraph level.

Also slightly refactor the NodeCache and CommonNodeCache classes to
reduce inherent overhead of caching.

TEST=cctest

Review URL: https://codereview.chromium.org/822923002

Cr-Commit-Position: refs/heads/master@{#25937}

9 years agoFast-forward version number on bleeding_edge to 3.32.0
jochen [Tue, 23 Dec 2014 13:50:03 +0000 (05:50 -0800)]
Fast-forward version number on bleeding_edge to 3.32.0

BUG=none
LOG=n
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/820033002

Cr-Commit-Position: refs/heads/master@{#25936}

9 years ago[turbofan] Deinlinify OperatorProperties implementation.
bmeurer [Tue, 23 Dec 2014 12:50:43 +0000 (04:50 -0800)]
[turbofan] Deinlinify OperatorProperties implementation.

TEST=cctest,unittests
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/821913002

Cr-Commit-Position: refs/heads/master@{#25935}

9 years agoWork-around for file pushing in android perf runner.
machenbach [Tue, 23 Dec 2014 12:40:32 +0000 (04:40 -0800)]
Work-around for file pushing in android perf runner.

Also include the device serial when logging adb commands.

BUG=374740
TBR=ulan@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/815003003

Cr-Commit-Position: refs/heads/master@{#25934}

9 years ago[turbofan] Turn DCHECK for fixed slot index into a CHECK.
Benedikt Meurer [Tue, 23 Dec 2014 11:00:46 +0000 (12:00 +0100)]
[turbofan] Turn DCHECK for fixed slot index into a CHECK.

This is a temporary workaround to ensure that we crash in release mode
instead of running into undefined behavior.

BUG=chromium:444681
LOG=y
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/800713006

Cr-Commit-Position: refs/heads/master@{#25933}

9 years ago[turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer.
Benedikt Meurer [Tue, 23 Dec 2014 06:53:37 +0000 (07:53 +0100)]
[turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer.

TEST=mjsunit/compiler/regress-444695
BUG=chromium:444695
LOG=y
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/824843002

Cr-Commit-Position: refs/heads/master@{#25932}

9 years agoMIPS: Enable Math rounding operations call reduction optimization in TF.
Dusan Milosavljevic [Mon, 22 Dec 2014 17:37:11 +0000 (18:37 +0100)]
MIPS: Enable Math rounding operations call reduction optimization in TF.

TEST=
BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/791473003

Cr-Commit-Position: refs/heads/master@{#25931}

9 years agoReset old generation limit on main frame context disposal.
hpayer [Mon, 22 Dec 2014 15:40:30 +0000 (07:40 -0800)]
Reset old generation limit on main frame context disposal.

BUG=

Review URL: https://codereview.chromium.org/815933005

Cr-Commit-Position: refs/heads/master@{#25930}

9 years agoMark mjsunit/setters-on-elements as flaky
jochen [Mon, 22 Dec 2014 15:30:35 +0000 (07:30 -0800)]
Mark mjsunit/setters-on-elements as flaky

TBR=machenbach@chromium.org
LOG=n
BUG=v8:3784
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/817293002

Cr-Commit-Position: refs/heads/master@{#25929}

9 years agoRemove custom weak handling of monomorphic IC.
ulan [Mon, 22 Dec 2014 15:04:10 +0000 (07:04 -0800)]
Remove custom weak handling of monomorphic IC.

This is not needed anymore since all ICs use weak cells to embed maps.

BUG=v8:3629
LOG=N

Review URL: https://codereview.chromium.org/817223003

Cr-Commit-Position: refs/heads/master@{#25928}

9 years ago[turbofan] Minor cleanup to reduce code duplication.
bmeurer [Mon, 22 Dec 2014 14:37:16 +0000 (06:37 -0800)]
[turbofan] Minor cleanup to reduce code duplication.

TEST=unittests
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/819103002

Cr-Commit-Position: refs/heads/master@{#25927}

9 years agoEnable the embedder to specify what kind of context was disposed
jochen [Mon, 22 Dec 2014 14:27:19 +0000 (06:27 -0800)]
Enable the embedder to specify what kind of context was disposed

This API is used by Blink to inform V8 about HTML frames being disposed.
Using the optional parameter, Blink can tell V8 whether the disposed
frame was a main frame. In that case, we might want to reset GC
parameters

BUG=none
R=hpayer@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/823583003

Cr-Commit-Position: refs/heads/master@{#25926}

9 years agoImplement missing functionality for job based recompilation
jochen [Mon, 22 Dec 2014 13:52:56 +0000 (05:52 -0800)]
Implement missing functionality for job based recompilation

BUG=v8:3608
R=bmeurer@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/816363003

Cr-Commit-Position: refs/heads/master@{#25925}

9 years ago[turbofan] Cleanup use of virtual, OVERRIDE, FINAL.
Benedikt Meurer [Mon, 22 Dec 2014 13:47:54 +0000 (14:47 +0100)]
[turbofan] Cleanup use of virtual, OVERRIDE, FINAL.

Following the Google/Chromium coding style wrt. virtual, OVERRIDE and
FINAL specifications.

TEST=unittests
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/816453005

Cr-Commit-Position: refs/heads/master@{#25924}

9 years agoUse weak cell in monomorphic KeyedStore IC.
ulan [Mon, 22 Dec 2014 13:38:05 +0000 (05:38 -0800)]
Use weak cell in monomorphic KeyedStore IC.

BUG=v8:3629
LOG=N

Review URL: https://codereview.chromium.org/817873003

Cr-Commit-Position: refs/heads/master@{#25923}

9 years ago[turbofan] Introduce CommonOperatorReducer.
Benedikt Meurer [Mon, 22 Dec 2014 13:06:34 +0000 (14:06 +0100)]
[turbofan] Introduce CommonOperatorReducer.

The CommonOperatorReducer currently takes care of redundant Phis,
EffectPhis and Selects. This functionality overlaps with ControlReducer,
but is required to make certain optimizations effective, since the
ControlReducer only runs really early and really late in the pipeline
and therefore other reducers aren't reapplied properly after redundant
phi/select elimination.

TEST=unittests
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/817243003

Cr-Commit-Position: refs/heads/master@{#25922}

9 years agoWork-around to make webkit test suite work with optdebug==2.
machenbach [Mon, 22 Dec 2014 11:13:01 +0000 (03:13 -0800)]
Work-around to make webkit test suite work with optdebug==2.

The test driver doesn't know at the moment if optdebug 1 or 2 has been used (the first is used on the bots, the second
locally in quickcheck). It can't know therefore if slow
asserts can be enabled or not. Trying to enable them leads
to a warning if they weren't compiled, which causes webkit
1:1 text comparison to fail.

Review URL: https://codereview.chromium.org/819033002

Cr-Commit-Position: refs/heads/master@{#25921}

9 years agoDo not use out of range visitor ids.
hpayer [Mon, 22 Dec 2014 11:11:50 +0000 (03:11 -0800)]
Do not use out of range visitor ids.

BUG=

Review URL: https://codereview.chromium.org/822693002

Cr-Commit-Position: refs/heads/master@{#25920}

9 years ago[turbofan] Materialize the correct kind of constant for bit 1.
Benedikt Meurer [Mon, 22 Dec 2014 09:24:07 +0000 (10:24 +0100)]
[turbofan] Materialize the correct kind of constant for bit 1.

Bit 1 should be represented as Int32Constant 1 after simplified
lowering, but OneConstant returns NumberConstant 1.0.

R=jochen@chromium.org, hpayer@chromium.org

Review URL: https://codereview.chromium.org/820993002

Cr-Commit-Position: refs/heads/master@{#25919}

9 years agoRevert "Retain maps for several garbage collections"
ulan [Mon, 22 Dec 2014 09:14:55 +0000 (01:14 -0800)]
Revert "Retain maps for several garbage collections"

This reverts commit 2bc756e4b36160595c811c5433d0238ae5192525
because of performance regression in kraken.

BUG=chromium:444232
LOG=N
TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/816353002

Cr-Commit-Position: refs/heads/master@{#25918}

9 years agoKeep AllocationSpace and ObjectSpace enums in sync.
hpayer [Mon, 22 Dec 2014 08:51:57 +0000 (00:51 -0800)]
Keep AllocationSpace and ObjectSpace enums in sync.

BUG=

Review URL: https://codereview.chromium.org/806693011

Cr-Commit-Position: refs/heads/master@{#25917}

9 years ago[turbofan] Correctify lowering of Uint8ClampedArray buffer access.
Benedikt Meurer [Mon, 22 Dec 2014 08:27:42 +0000 (09:27 +0100)]
[turbofan] Correctify lowering of Uint8ClampedArray buffer access.

TEST=mjsunit/compiler/regress-444508.js
BUG=chromium:444508
LOG=y
R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/794013004

Cr-Commit-Position: refs/heads/master@{#25916}

9 years ago[turbofan] Improve typing of ToBoolean.
Benedikt Meurer [Mon, 22 Dec 2014 07:21:30 +0000 (08:21 +0100)]
[turbofan] Improve typing of ToBoolean.

According to ES6 draft, revision 29 (2014-12-06), section 7.1.2,
ToBoolean yields true for true, detectable receivers (the ES6 Object
type), symbols and numbers except -0, +0 and NaN.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/807663006

Cr-Commit-Position: refs/heads/master@{#25915}

9 years agoX87: fix one test case failure under debug mode.
chunyang.dai [Mon, 22 Dec 2014 07:04:35 +0000 (23:04 -0800)]
X87: fix one test case failure under debug mode.

  This issue is exposed by CL https://codereview.chromium.org/807273003.

  The DeoptimizeIf(...) function will generate more Assembler code and the
  distance between the link point and the bind point is larger then near
  link distance (127) for labels.

BUG=

Review URL: https://codereview.chromium.org/820963002

Cr-Commit-Position: refs/heads/master@{#25914}

9 years agoMake perf test runner more robust.
machenbach [Sun, 21 Dec 2014 10:25:17 +0000 (02:25 -0800)]
Make perf test runner more robust.

Convert all results to floats and log errors on failing
conversions. Otherwise these results bubble up into
buildbot.

TBR=tandrii@chromium.org
BUG=chromium:374740
LOG=n
NOTRY=true

Review URL: https://codereview.chromium.org/811483008

Cr-Commit-Position: refs/heads/master@{#25913}

9 years agoRevert of Remove obsolete V8_INFINITY macro. (patchset #3 id:40001 of https://coderev...
machenbach [Sat, 20 Dec 2014 13:17:20 +0000 (05:17 -0800)]
Revert of Remove obsolete V8_INFINITY macro. (patchset #3 id:40001 of https://codereview.chromium.org/798413003/)

Reason for revert:
Speculative revert. This seems to block the current roll: https://codereview.chromium.org/819653003/

I retried several times, also with a new roll. The error is internal - but that doesn't make much of a difference.

Original issue's description:
> Remove obsolete V8_INFINITY macro.
>
> Use std::numeric_limits consistently.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/31c66e2d53569c4e229d55483d28208491e73612
> Cr-Commit-Position: refs/heads/master@{#25897}

TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/813813003

Cr-Commit-Position: refs/heads/master@{#25912}

9 years agoRevert of [mips] Fix typos introduced by previous commit. (patchset #1 id:1 of https...
machenbach [Sat, 20 Dec 2014 13:15:14 +0000 (05:15 -0800)]
Revert of [mips] Fix typos introduced by previous commit. (patchset #1 id:1 of https://codereview.chromium.org/814203002/)

Reason for revert:
Needed in order to revert https://codereview.chromium.org/798413003

Original issue's description:
> [mips] Fix typos introduced by previous commit.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/0c96a8b19730e79bc9cae08f3d86755c7b7c962e
> Cr-Commit-Position: refs/heads/master@{#25899}

TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/822523002

Cr-Commit-Position: refs/heads/master@{#25911}

9 years agoSupport multiple interrupt requests in v8 API.
alph [Sat, 20 Dec 2014 07:54:03 +0000 (23:54 -0800)]
Support multiple interrupt requests in v8 API.

There might be a number of clients that would like to
setup an interrupt request on the Isolate.

The patch also deprecates ClearInterrupt API. As long as
the interrupt handler is called outside of locks there's no way
to guarantee that the handler will not be called after
ClearInterrupt was invoked as it might have already started execution.

Review URL: https://codereview.chromium.org/796623003

Cr-Commit-Position: refs/heads/master@{#25910}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 20 Dec 2014 04:30:43 +0000 (20:30 -0800)]
Update V8 DEPS.

Rolling v8/buildtools to 23a4e2f545c7b6340d7e5a2b74801941b0a86535

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/812553008

Cr-Commit-Position: refs/heads/master@{#25909}

9 years agoUse SetOwnElement when creating splice records in array length setter
adamk [Fri, 19 Dec 2014 19:39:19 +0000 (11:39 -0800)]
Use SetOwnElement when creating splice records in array length setter

This avoids touching the Array prototype, which may have been tampered with.

BUG=chromium:443982
LOG=n

Review URL: https://codereview.chromium.org/820503005

Cr-Commit-Position: refs/heads/master@{#25908}

9 years agoVector-based ICs also need to hold maps weakly.
mvstanton [Fri, 19 Dec 2014 16:53:41 +0000 (08:53 -0800)]
Vector-based ICs also need to hold maps weakly.

Regular ICs in MONOMORPHIC and POLYMORPHIC state now hold onto maps with
WeakCells. Vector-based ICs should do the same.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/815953002

Cr-Commit-Position: refs/heads/master@{#25907}

9 years agoMIPS64: Use weak cell in LoadGlobal handler.
ulan [Fri, 19 Dec 2014 15:48:42 +0000 (07:48 -0800)]
MIPS64: Use weak cell in LoadGlobal handler.

Port bc0d2e237b1b624bed26ba849529b40329ea72a2

BUG=v8:3629
LOG=N
TBR=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/814193004

Cr-Commit-Position: refs/heads/master@{#25906}

9 years agoUse weak cell to embed map in CompareNil IC.
ulan [Fri, 19 Dec 2014 14:51:10 +0000 (06:51 -0800)]
Use weak cell to embed map in CompareNil IC.

BUG=v8:3629
LOG=N

Review URL: https://codereview.chromium.org/812353002

Cr-Commit-Position: refs/heads/master@{#25905}

9 years ago[turbofan] false is also falsish.
Benedikt Meurer [Fri, 19 Dec 2014 14:08:48 +0000 (15:08 +0100)]
[turbofan] false is also falsish.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/814833006

Cr-Commit-Position: refs/heads/master@{#25904}

9 years agoFollow-on to hydrogen fix keyed loads with string keys for vector ics.
mvstanton [Fri, 19 Dec 2014 13:40:59 +0000 (05:40 -0800)]
Follow-on to hydrogen fix keyed loads with string keys for vector ics.

r25817 optimized hydrogen keyed loads with string keys.
(https://codereview.chromium.org/755513003).
This CL adapts that work for the vector-ic keyed load.

BUG=

Review URL: https://codereview.chromium.org/820673002

Cr-Commit-Position: refs/heads/master@{#25903}

9 years agoUse weak cell in LoadGlobal handler.
ulan [Fri, 19 Dec 2014 13:28:33 +0000 (05:28 -0800)]
Use weak cell in LoadGlobal handler.

BUG=v8:3629
LOG=N

Review URL: https://codereview.chromium.org/816923004

Cr-Commit-Position: refs/heads/master@{#25902}

9 years ago[turbofan] Fix unsafe out-of-bounds check for checked loads/stores.
Benedikt Meurer [Fri, 19 Dec 2014 12:53:13 +0000 (13:53 +0100)]
[turbofan] Fix unsafe out-of-bounds check for checked loads/stores.

BUG=chromium:443744
LOG=y
TEST=mjsunit/compiler/regress-443744
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/804993004

Cr-Commit-Position: refs/heads/master@{#25901}

9 years agoImproved --trace-opt output a bit.
Sven Panne [Fri, 19 Dec 2014 11:47:17 +0000 (12:47 +0100)]
Improved --trace-opt output a bit.

This ensures that we always have a kind of "brace" around the actual compilation
with --trace-opt. Previously this was coupled to --trace-hydrogen for
Crankshaft, and there was no output at the start of the compilation for
TurboFan.

Removed redundant "[completed...]" output: Whenever the compilation was
successful, we have already printed "[optimizing...took...]".

Output total TurboFanning time with --trace-opt, too (basically as graph
building time, this is rather arbitrary).

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/819613002

Cr-Commit-Position: refs/heads/master@{#25900}

9 years ago[mips] Fix typos introduced by previous commit.
Benedikt Meurer [Fri, 19 Dec 2014 11:34:31 +0000 (12:34 +0100)]
[mips] Fix typos introduced by previous commit.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/814203002

Cr-Commit-Position: refs/heads/master@{#25899}

9 years agoMake FlushICache NOP for Nvidia Denver CPU's.
arajp [Fri, 19 Dec 2014 11:16:23 +0000 (03:16 -0800)]
Make FlushICache NOP for Nvidia Denver CPU's.

Denver supports a coherent cache mechanism. There is no need to clean
the D cache and invalidate I cache. MTS has to check the translation
anytime there is an I cache invalidate and this time can be saved by
making FlushICache a NOP.

The patch improves Octane by roughly 3-4% on Denver.

Review URL: https://codereview.chromium.org/797233002

Cr-Commit-Position: refs/heads/master@{#25898}

9 years agoRemove obsolete V8_INFINITY macro.
bmeurer [Fri, 19 Dec 2014 07:17:45 +0000 (23:17 -0800)]
Remove obsolete V8_INFINITY macro.

Use std::numeric_limits consistently.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/798413003

Cr-Commit-Position: refs/heads/master@{#25897}

9 years ago[turbofan] Improve JSToBoolean typing.
bmeurer [Fri, 19 Dec 2014 07:10:16 +0000 (23:10 -0800)]
[turbofan] Improve JSToBoolean typing.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/792013006

Cr-Commit-Position: refs/heads/master@{#25896}

9 years agoSimplify scanner and generate better error message for legacy octals in templates
caitpotter88 [Thu, 18 Dec 2014 22:01:25 +0000 (14:01 -0800)]
Simplify scanner and generate better error message for legacy octals in templates

LOG=N
BUG=
R=arv@chromium.org, dslomov@chromium.org

Review URL: https://codereview.chromium.org/812163003

Cr-Commit-Position: refs/heads/master@{#25895}

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 18 Dec 2014 21:57:27 +0000 (13:57 -0800)]
Update V8 DEPS.

Rolling v8/third_party/icu to 51c1a4ce5f362676aa1f1cfdb5b7e52edabfa5aa

TBR=machenbach@chromium.org
BUG=

Review URL: https://codereview.chromium.org/816763003

Cr-Commit-Position: refs/heads/master@{#25894}

9 years agoDefine SDKROOT for Mac
jochen [Thu, 18 Dec 2014 20:42:32 +0000 (12:42 -0800)]
Define SDKROOT for Mac

otherwise, the clang we ship doesn't work

BUG=none
R=adamk@chromium.org,thakis@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/792783006

Cr-Commit-Position: refs/heads/master@{#25893}

9 years agoShip ES6 template literals
arv [Thu, 18 Dec 2014 20:11:36 +0000 (12:11 -0800)]
Ship ES6 template literals

BUG=v8:3230
LOG=Y
R=dslomov@chromium.org, caitpotter88@gmail.com

Review URL: https://codereview.chromium.org/808413004

Cr-Commit-Position: refs/heads/master@{#25892}

9 years agoES6 template literals should not use legacy octal strings
arv [Thu, 18 Dec 2014 19:41:37 +0000 (11:41 -0800)]
ES6 template literals should not use legacy octal strings

Correctly handle SyntaxErrors in escape sequences.

BUG=v8:3736
LOG=Y
R=dslomov@chromium.org, caitpotter88@gmail.com

Review URL: https://codereview.chromium.org/811113002

Cr-Commit-Position: refs/heads/master@{#25891}

9 years agoReland Shrink initial old generation size based on new space survival rate.
hpayer [Thu, 18 Dec 2014 16:55:46 +0000 (08:55 -0800)]
Reland Shrink initial old generation size based on new space survival rate.

I picked a more conservative start value this time of half max old generation size.

BUG=

Review URL: https://codereview.chromium.org/804323004

Cr-Commit-Position: refs/heads/master@{#25890}