platform/upstream/v8.git
9 years agoAdd missing FrameState for Runtime_GetPrototype.
mstarzinger [Wed, 21 Jan 2015 17:17:39 +0000 (09:17 -0800)]
Add missing FrameState for Runtime_GetPrototype.

R=titzer@chromium.org
TEST=cctest/test-api

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

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

9 years agoAdd missing FrameState for Runtime_DeliverObservationChangeRecords.
mstarzinger [Wed, 21 Jan 2015 16:07:52 +0000 (08:07 -0800)]
Add missing FrameState for Runtime_DeliverObservationChangeRecords.

R=bmeurer@chromium.org
TEST=cctest,mjsunit/es7/object-observe-debug-event

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

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

9 years agoProperly configure goma.
machenbach [Wed, 21 Jan 2015 15:30:18 +0000 (07:30 -0800)]
Properly configure goma.

Everything is c/p from common.gypi.

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

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

9 years agoSteps towards unification of number bitset and range types.
rossberg [Wed, 21 Jan 2015 15:29:10 +0000 (07:29 -0800)]
Steps towards unification of number bitset and range types.

- New invariant on union types: if the union has a range then the number
  bits in the bitset must be cleared.

- Various tweaks in intersection and union to satisfy the invariant.

- Exposed and used representation bits in range types (and the Limits
  helper class).

- Implemented Glb for ranges so that the Is predicate handles
  ranges correctly.

- Change typer weakening so that it does not rely on GetRange.
  However, the code still seems to be a bit fragile.

- Removed the Smi types from the type system core, instead introduced
  Signed31, Unsigned30 and created constructors for Small(Un)Signed
  that point to the right type for the architecture.

- Punched a hole in the config to be able to get to the isolate so
  that it is possible to allocate heap numbers for newly created
  ranges.

Patch by jarin@chromium.prg, original review here:
https://codereview.chromium.org/795713003/

TBR=jarin@chromium.org
BUG=

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

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

9 years ago[arm] Fix simulator stack size for mozilla/js1_5/extensions/regress-355497.
Benedikt Meurer [Wed, 21 Jan 2015 15:25:55 +0000 (16:25 +0100)]
[arm] Fix simulator stack size for mozilla/js1_5/extensions/regress-355497.

TBR=yangguo@chromium.org
BUG=v8:3837
LOG=n

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

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

9 years agoRemove deprecated v8::base::OS::nan_value().
bmeurer [Wed, 21 Jan 2015 14:38:49 +0000 (06:38 -0800)]
Remove deprecated v8::base::OS::nan_value().

Use std::numeric_limits<double>::quiet_NaN() and
std::numeric_limits<float>::quiet_NaN() instead.

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

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

9 years agoAdd missing FrameState to JSTypedLoweringTester.
mstarzinger [Wed, 21 Jan 2015 14:33:44 +0000 (06:33 -0800)]
Add missing FrameState to JSTypedLoweringTester.

R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/JSToNumberOfNumberOrOtherPrimitive

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

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

9 years agoDrop TODO that no longer applies after refactoring.
mstarzinger [Wed, 21 Jan 2015 14:24:06 +0000 (06:24 -0800)]
Drop TODO that no longer applies after refactoring.

R=yangguo@chromium.org

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

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

9 years agoEnable test coverage for test coverage.
mstarzinger [Wed, 21 Jan 2015 14:07:07 +0000 (06:07 -0800)]
Enable test coverage for test coverage.

R=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo

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

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

9 years ago[turbofan] Fix register allocator verifier to allow 1-input phis.
titzer [Wed, 21 Jan 2015 13:50:24 +0000 (05:50 -0800)]
[turbofan] Fix register allocator verifier to allow 1-input phis.

R=dcarney@chromium.org
BUG=

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

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

9 years agoadd some tests for HandleApiCall builtin
dcarney [Wed, 21 Jan 2015 13:42:35 +0000 (05:42 -0800)]
add some tests for HandleApiCall builtin

BUG=

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

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

9 years agoAdd a pretty printer to improve the error message non-function calls
verwaest [Wed, 21 Jan 2015 13:40:32 +0000 (05:40 -0800)]
Add a pretty printer to improve the error message non-function calls

BUG=259443
LOG=y

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

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

9 years agoKeyedStoreIC: support non-generic handling of Symbol keys
jkummerow [Wed, 21 Jan 2015 13:39:14 +0000 (05:39 -0800)]
KeyedStoreIC: support non-generic handling of Symbol keys

BUG=chromium:450475
LOG=n

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

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

9 years agoconvert compile-time checkable DCHECKs to STATIC_ASSERTs
mostynb [Wed, 21 Jan 2015 13:38:06 +0000 (05:38 -0800)]
convert compile-time checkable DCHECKs to STATIC_ASSERTs

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

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

9 years agoRestrict tag-update for version generation to cached git repos.
machenbach [Wed, 21 Jan 2015 13:02:23 +0000 (05:02 -0800)]
Restrict tag-update for version generation to cached git repos.

Otherwise it's impossible to compile v8 without internet
connection.

BUG=chromium:446166
LOG=n
NOTRY=true

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

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

9 years ago[arm] Fix sNaN quietening in the ARM simulator on IA-32.
Benedikt Meurer [Wed, 21 Jan 2015 13:00:57 +0000 (14:00 +0100)]
[arm] Fix sNaN quietening in the ARM simulator on IA-32.

TEST=msjunit/regress/regress-undefined-nan2
R=jkummerow@chromium.org

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

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

9 years ago[arm] Work-around sNaN issue in ARM simulator builds on IA-32.
Benedikt Meurer [Wed, 21 Jan 2015 10:28:58 +0000 (11:28 +0100)]
[arm] Work-around sNaN issue in ARM simulator builds on IA-32.

R=jkummerow@chromium.org

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

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

9 years agoWhitespace CL to trigger bots.
Michael Achenbach [Wed, 21 Jan 2015 10:08:38 +0000 (11:08 +0100)]
Whitespace CL to trigger bots.

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

9 years agoRemove presubmit bot from 'git cl try'.
machenbach [Wed, 21 Jan 2015 08:56:11 +0000 (00:56 -0800)]
Remove presubmit bot from 'git cl try'.

'git cl try' is often executed before an lgtm was given - in
this case the bot always fails.

TBR=jochen@chromium.org
NOTRY=true

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

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

9 years agoRemove implicit uint8_t to char cast in string replace.
yangguo [Wed, 21 Jan 2015 08:55:05 +0000 (00:55 -0800)]
Remove implicit uint8_t to char cast in string replace.

R=jkummerow@chromium.org
BUG=446196
LOG=Y

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

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

9 years agoUse signaling NaN for holes in fixed double arrays.
Benedikt Meurer [Wed, 21 Jan 2015 08:52:00 +0000 (09:52 +0100)]
Use signaling NaN for holes in fixed double arrays.

TEST=mjsunit,cctest,unittests
R=jkummerow@chromium.org

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

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

9 years agoX87: Fix issue with __proto__ when using ES6 object literals.
cdai2 [Wed, 21 Jan 2015 08:30:14 +0000 (16:30 +0800)]
X87: Fix issue with __proto__ when using ES6 object literals.

port bc3b2960e3b7abc16440717f289a430aef904cb1 (r26172).

original commit message:
  Fix issue with __proto__ when using ES6 object literals

  It should be possible to create a concise method with the name
  __proto__ without setting the [[Prototype]]. Similarly, property
  name shorthands with the name __proto__ should define an own
  property.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: move CallApiFunctionAndReturn to code-stubs-*
cdai2 [Wed, 21 Jan 2015 08:29:16 +0000 (16:29 +0800)]
X87: move CallApiFunctionAndReturn to code-stubs-*

port e62d974ba155e862c29f80667bcb7b4008549d51 (r26167)

original commit message:

   move CallApiFunctionAndReturn to code-stubs-*

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoEnsure tags are fetched when generating the V8 version.
machenbach [Wed, 21 Jan 2015 07:59:47 +0000 (23:59 -0800)]
Ensure tags are fetched when generating the V8 version.

This is needed so that version generation works after
bot_update fetched v8 in a chromium checkout.

TBR=tandrii@chromium.org
BUG=chromium:446166
LOG=n

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

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

9 years agoX87: fix debug checks for api callbacks returning symbols
cdai2 [Wed, 21 Jan 2015 05:25:05 +0000 (13:25 +0800)]
X87: fix debug checks for api callbacks returning symbols

port 3eb589976a979fa80f0934a3754ebc79d289b713.

original commit message:

  fix debug checks for api callbacks returning symbols

BUG=
R=weiliang.lin@intel.com

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

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

9 years ago[turbofan] Pull ResizeMergeOrPhi into CommonOperatorBuilder and use in ControlReducer.
titzer [Tue, 20 Jan 2015 18:23:27 +0000 (10:23 -0800)]
[turbofan] Pull ResizeMergeOrPhi into CommonOperatorBuilder and use in ControlReducer.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoComputed property names for object literals in TurboFan.
mstarzinger [Tue, 20 Jan 2015 16:52:52 +0000 (08:52 -0800)]
Computed property names for object literals in TurboFan.

R=dslomov@chromium.org
TEST=mjsunit/harmony/computed-property-names

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

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

9 years agoPerform access checks on the prototype chain when setting an element through a setter
verwaest [Tue, 20 Jan 2015 16:50:48 +0000 (08:50 -0800)]
Perform access checks on the prototype chain when setting an element through a setter

BUG=

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

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

9 years agoFix issue with __proto__ when using ES6 object literals
arv [Tue, 20 Jan 2015 16:31:27 +0000 (08:31 -0800)]
Fix issue with __proto__ when using ES6 object literals

It should be possible to create a concise method with the name
__proto__ without setting the [[Prototype]]. Similarly, property
name shorthands with the name __proto__ should define an own
property.

BUG=v8:3818
LOG=Y
R=adamk, dslomov@chromium.org

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

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

9 years agoKeep trybot definitions in sync with CQ.
machenbach [Tue, 20 Jan 2015 16:09:29 +0000 (08:09 -0800)]
Keep trybot definitions in sync with CQ.

"git cl try" should execute the same set of trybots as the
CQ.

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

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

9 years agoUse RETURN_ON_EXCEPTION rather than .Assert when setting .length, which may fail...
verwaest [Tue, 20 Jan 2015 16:08:17 +0000 (08:08 -0800)]
Use RETURN_ON_EXCEPTION rather than .Assert when setting .length, which may fail due to stack overflow.

BUG=449447
LOG=n

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

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

9 years agoDon't use -O3 with sanitizers.
machenbach [Tue, 20 Jan 2015 16:07:11 +0000 (08:07 -0800)]
Don't use -O3 with sanitizers.

BUG=chromium:430614
LOG=n

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

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

9 years agoProfiler improvements
jkummerow [Tue, 20 Jan 2015 16:06:03 +0000 (08:06 -0800)]
Profiler improvements

(1) --prof-cpp: Collects ticks like --prof, but ignores code creation events to reduce distortion (so all JS ticks will be "unaccounted"). Useful for profiling C++ code.
(2) --timed-range flag for tick processor: Ignores ticks before the first and after the last call to Date.now(). Useful for focusing on the timed section of a test.

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

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

9 years agomove CallApiFunctionAndReturn to code-stubs-*
dcarney [Tue, 20 Jan 2015 16:04:51 +0000 (08:04 -0800)]
move CallApiFunctionAndReturn to code-stubs-*

BUG=

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

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

9 years agoRevert of Make clang the default on linux. (patchset #2 id:20001 of https://coderevie...
jochen [Tue, 20 Jan 2015 15:15:17 +0000 (07:15 -0800)]
Revert of Make clang the default on linux. (patchset #2 id:20001 of https://codereview.chromium.org/781983002/)

Reason for revert:
breaks arm and mips compilation on main waterfall

Original issue's description:
> Make clang the default on linux.
>
> TBR=jochen@chromium.org
>
> Committed: https://crrev.com/006b5c5cfd8517563601f331bc7a57e13bfeb202
> Cr-Commit-Position: refs/heads/master@{#26164}

TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoComputed property names for class literals in TurboFan.
mstarzinger [Tue, 20 Jan 2015 15:03:19 +0000 (07:03 -0800)]
Computed property names for class literals in TurboFan.

R=dslomov@chromium.org
TEST=mjsunit/harmony/computed-property-names-classes

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

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

9 years agoMake clang the default on linux.
machenbach [Tue, 20 Jan 2015 15:00:54 +0000 (07:00 -0800)]
Make clang the default on linux.

TBR=jochen@chromium.org

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

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

9 years ago[x86] Avoid memory form of PUSH/CALL for ATOM.
weiliang.lin [Tue, 20 Jan 2015 14:59:47 +0000 (06:59 -0800)]
[x86] Avoid memory form of PUSH/CALL for ATOM.

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

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

9 years agoAdd initial support for v8_target_arch == "arm" to GN config
jochen [Tue, 20 Jan 2015 14:33:58 +0000 (06:33 -0800)]
Add initial support for v8_target_arch == "arm" to GN config

BUG=none
R=eseidel@chromium.org,brettw@chromium.org,machenbach@chromium.org
LOG=n

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

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

9 years agoReplace generic KeyedStore stub with megamorphic version
jkummerow [Tue, 20 Jan 2015 14:16:00 +0000 (06:16 -0800)]
Replace generic KeyedStore stub with megamorphic version

This is a follow-up to https://codereview.chromium.org/859943003.

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

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

9 years agoensure trace extension works from optimized code when profiler is not enabled
dcarney [Tue, 20 Jan 2015 14:14:29 +0000 (06:14 -0800)]
ensure trace extension works from optimized code when profiler is not enabled

BUG=

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

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

9 years ago[x86] Use AVX in Crankshaft when available.
Benedikt Meurer [Tue, 20 Jan 2015 13:59:07 +0000 (14:59 +0100)]
[x86] Use AVX in Crankshaft when available.

R=verwaest@chromium.org

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

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

9 years agoUse fast_sqrt instead of std::sqrt in simulators.
yangguo [Tue, 20 Jan 2015 13:53:34 +0000 (05:53 -0800)]
Use fast_sqrt instead of std::sqrt in simulators.

This prevents clang from inlining and returning inconsistent results.

R=bmeurer@chromium.org
BUG=v8:3802
LOG=N

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

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

9 years agoRemove ForceDelete
verwaest [Tue, 20 Jan 2015 13:41:17 +0000 (05:41 -0800)]
Remove ForceDelete

This method circumvented JS semantics, and should not be used.

BUG=

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

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

9 years agofix debug checks for api callbacks returning symbols
dcarney [Tue, 20 Jan 2015 13:27:46 +0000 (05:27 -0800)]
fix debug checks for api callbacks returning symbols

BUG=

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

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

9 years agoRemove early bailout from Runtime_CompileOptimized.
mstarzinger [Tue, 20 Jan 2015 13:03:41 +0000 (05:03 -0800)]
Remove early bailout from Runtime_CompileOptimized.

R=titzer@chromium.org

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

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

9 years ago[ia32] Require SSE2.
bmeurer [Tue, 20 Jan 2015 12:53:44 +0000 (04:53 -0800)]
[ia32] Require SSE2.

This way we stay in sync with what Chromium does and we reduce the
number of bugs caused by 80-to-{32,64}-bit rounding errors. It's also
a requirement for switching to signaling NaN for FixedDoubleArray holes.

R=jkummerow@chromium.org

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

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

9 years agoLet KeyedStoreIC go megamorphic (instead of generic) when the same map misses twice
jkummerow [Tue, 20 Jan 2015 12:49:34 +0000 (04:49 -0800)]
Let KeyedStoreIC go megamorphic (instead of generic) when the same map misses twice

BUG=v8:3826
LOG=n
R=verwaest@chromium.org

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

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

9 years agoLCodeGen::CallKnownFunction gets the function in register.
ulan [Tue, 20 Jan 2015 11:38:42 +0000 (03:38 -0800)]
LCodeGen::CallKnownFunction gets the function in register.

There is no need to embed function pointer in code.

BUG=v8:3823
LOG=N

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

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

9 years agoAdd d8 target to BUILD.gn
jochen [Tue, 20 Jan 2015 11:31:44 +0000 (03:31 -0800)]
Add d8 target to BUILD.gn

R=machenbach@chromium.org,brettw@chromium.org
LOG=n
BUG=none

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

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

9 years agoAdd no-test-harness mode to test driver.
machenbach [Tue, 20 Jan 2015 10:17:21 +0000 (02:17 -0800)]
Add no-test-harness mode to test driver.

BUG=

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

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

9 years ago[turbofan] First version of loop peeling.
titzer [Tue, 20 Jan 2015 09:45:02 +0000 (01:45 -0800)]
[turbofan] First version of loop peeling.

BUG=

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

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

9 years agoX87: add stub for api function calls with known number of parameters
cdai2 [Tue, 20 Jan 2015 06:47:52 +0000 (14:47 +0800)]
X87: add stub for api function calls with known number of parameters

port 8c990d1716d33db4834b7e3c115874d482291e8c

original commit message:
  add stub for api function calls with known number of parameters

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoMIPS: Add fast-path OOB support to KeyedLoadIC_Generic.
Akos Palfi [Mon, 19 Jan 2015 23:39:07 +0000 (00:39 +0100)]
MIPS: Add fast-path OOB support to KeyedLoadIC_Generic.

Port 79ed8f173ce1624f6d7821ea6b44ce75efa97912

BUG=
R=akos.palfi@imgtec.com

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

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

9 years agoMassive renaming of PropertyType values and other implied stuff.
ishell [Mon, 19 Jan 2015 17:49:13 +0000 (09:49 -0800)]
Massive renaming of PropertyType values and other implied stuff.

PropertyKind:
  DATA -> kData
  ACCESSOR -> kAccessor

PropertyType:
  FIELD -> DATA
  CONSTANT -> DATA_CONSTANT
  ACCESSOR_FIELD -> ACCESSOR
  CALLBACKS -> ACCESSOR_CONSTANT

PropertyLocation:
  IN_OBJECT -> kField
  IN_DESCRIPTOR -> kDescriptor

StoreMode:
  FORCE_IN_OBJECT -> FORCE_FIELD

FieldDescriptor -> DataDescriptor
ConstantDescriptor -> DataConstantDescriptor
CallbacksDescriptor -> AccessorConstantDescriptor

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

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

9 years agoRemove exorbitant duplication of DebuggerHasBreakpoints.
mstarzinger [Mon, 19 Jan 2015 16:51:39 +0000 (08:51 -0800)]
Remove exorbitant duplication of DebuggerHasBreakpoints.

R=yangguo@chromium.org

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

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

9 years agoPartially reland Auto-generate v8 version based on tags.
machenbach [Mon, 19 Jan 2015 16:23:23 +0000 (08:23 -0800)]
Partially reland Auto-generate v8 version based on tags.

This relands parts of
https://codereview.chromium.org/843913009

It prepares for using this script outside of v8, e.g. in a
chromium hook.

The script is intended to run as a hook and will create
version_gen.cc if the content has changed.

Changes to gyp and gn files can land as a follow up, once
calling the hook on the chromium side has landed.

BUG=chromium:446166
LOG=n

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

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

9 years agoDisable new test failing since 79748e3f7ced.
Michael Starzinger [Mon, 19 Jan 2015 16:16:56 +0000 (17:16 +0100)]
Disable new test failing since 79748e3f7ced.

TBR=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo

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

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

9 years agoRemove overzealous check from %OptimizeFunctionOnNextCall.
mstarzinger [Mon, 19 Jan 2015 15:51:50 +0000 (07:51 -0800)]
Remove overzealous check from %OptimizeFunctionOnNextCall.

R=titzer@chromium.org

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

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

9 years ago[turbofan] Rename IrOpcode predicate IsLeafOpcode to IsConstantOpcode.
Ben L. Titzer [Mon, 19 Jan 2015 15:35:03 +0000 (16:35 +0100)]
[turbofan] Rename IrOpcode predicate IsLeafOpcode to IsConstantOpcode.

R=mstarzinger@chromium.org
BUG=

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

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

9 years ago[turbofan] Improve loop analysis to handle more than 32 loops.
titzer [Mon, 19 Jan 2015 15:19:43 +0000 (07:19 -0800)]
[turbofan] Improve loop analysis to handle more than 32 loops.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoUnobscurified OFStream.
svenpanne [Mon, 19 Jan 2015 14:41:39 +0000 (06:41 -0800)]
Unobscurified OFStream.

Use simple HAS-A relationship instead of obscure multiple inheritance.
In theory, UBSan should be totally happy with this, but it still isn't.
This seems to be a bug in UBSan, see e.g.
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-December/040225.html

BUG=chromium:448102
LOG=y

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

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

9 years agoScript streaming: don't produce (empty) cached data when debugger forces eagerness.
marja [Mon, 19 Jan 2015 14:29:01 +0000 (06:29 -0800)]
Script streaming: don't produce (empty) cached data when debugger forces eagerness.

See CompileTopLevel for similar logic which suppresses producing parser cache
when the debugger is active.

BUG=441130
LOG=n

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

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

9 years agoadd stub for api function calls with known number of parameters
dcarney [Mon, 19 Jan 2015 14:17:23 +0000 (06:17 -0800)]
add stub for api function calls with known number of parameters

BUG=449930
LOG=N

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

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

9 years agodelete flaky test MultithreadedParallelIsolates
dcarney [Mon, 19 Jan 2015 14:16:13 +0000 (06:16 -0800)]
delete flaky test MultithreadedParallelIsolates

BUG=3215
LOG=N

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

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

9 years agoBlacklist computed property name failures with TurboFan.
Michael Starzinger [Mon, 19 Jan 2015 14:15:04 +0000 (15:15 +0100)]
Blacklist computed property name failures with TurboFan.

R=verwaest@chromium.org
TEST=mjsunit/harmony/computed-property-names

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

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

9 years agoRevert of Temporarily restore make dependencies (patchset #1 id:1 of https://coderevi...
jochen [Mon, 19 Jan 2015 13:21:06 +0000 (05:21 -0800)]
Revert of Temporarily restore make dependencies (patchset #1 id:1 of https://codereview.chromium.org/733203008/)

Reason for revert:
make dependencies is stale now, and everybody should have switched over

Original issue's description:
> Temporarily restore make dependencies
>
> We will remove dependencies in about a week again.
>
> BUG=none
> R=machenbach@chromium.org
> LOG=y

TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

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

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

9 years agoSerializer: reset typed array cell type.
yangguo [Mon, 19 Jan 2015 12:46:32 +0000 (04:46 -0800)]
Serializer: reset typed array cell type.

R=mvstanton@chromium.org
BUG=chromium:449937
LOG=N

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

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

9 years agoReport SyntaxError on Token::ILLEGAL in ParseTemplateLiteral
caitpotter88 [Mon, 19 Jan 2015 12:38:01 +0000 (04:38 -0800)]
Report SyntaxError on Token::ILLEGAL in ParseTemplateLiteral

BUG=v8:3820, v8:3821
LOG=N
R=arv@chromium.org, dslomov@chromium.org, marja@chromium.org

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

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

9 years agoAllow --always-opt to go further into the pipeline (2).
mstarzinger [Mon, 19 Jan 2015 12:35:05 +0000 (04:35 -0800)]
Allow --always-opt to go further into the pipeline (2).

R=rossberg@chromium.org

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

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

9 years agoImplement IsConstructor() abstract operation
caitpotter88 [Mon, 19 Jan 2015 12:22:22 +0000 (04:22 -0800)]
Implement IsConstructor() abstract operation

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

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

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

9 years agoremove SignatureInfo class
dcarney [Mon, 19 Jan 2015 12:17:09 +0000 (04:17 -0800)]
remove SignatureInfo class

BUG=

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

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

9 years agoAllow nested compile-script histogram scopes.
yangguo [Mon, 19 Jan 2015 11:32:58 +0000 (03:32 -0800)]
Allow nested compile-script histogram scopes.

R=bmeurer@chromium.org
BUG=chromium:449959
LOG=N

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

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

9 years agoAdd missing if (FLAG_verify_heap) checks around heap verification
jochen [Mon, 19 Jan 2015 10:12:28 +0000 (02:12 -0800)]
Add missing if (FLAG_verify_heap) checks around heap verification

BUG=chromium:449943
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoClusterFuzz fix: %NormalizeElements shouldn't process the global proxy.
mvstanton [Mon, 19 Jan 2015 09:31:02 +0000 (01:31 -0800)]
ClusterFuzz fix: %NormalizeElements shouldn't process the global proxy.

BUG=449070
R=yangguo@chromium.org
LOG=N

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

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

9 years agoCorrectly load RegExp.source from the holder.
yangguo [Mon, 19 Jan 2015 09:17:12 +0000 (01:17 -0800)]
Correctly load RegExp.source from the holder.

R=mvstanton@chromium.org
BUG=chromium:447561
LOG=N

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

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

9 years ago[turbofan] Make Factory::NewNumber() always return the minus_zero_value.
bmeurer [Mon, 19 Jan 2015 08:07:22 +0000 (00:07 -0800)]
[turbofan] Make Factory::NewNumber() always return the minus_zero_value.

TEST=unittests

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

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

9 years agoX87: Add fast-path OOB support to KeyedLoadIC_Generic
chunyang.dai [Mon, 19 Jan 2015 05:44:00 +0000 (21:44 -0800)]
X87: Add fast-path OOB support to KeyedLoadIC_Generic

port 79ed8f173ce1624f6d7821ea6b44ce75efa97912.

original commit message:
  Add fast-path OOB support to KeyedLoadIC_Generic

BUG=

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

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

9 years agoX87: split api call stubs into accessor and function call stubs
chunyang.dai [Mon, 19 Jan 2015 05:06:29 +0000 (21:06 -0800)]
X87: split api call stubs into accessor and function call stubs

port 6950ead0b0a8373441dc8f8d3b2c316e82549ce9

original commit message:

  split api call stubs into accessor and function call stubs

BUG=

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

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

9 years agoRevert of Reland Auto-generate v8 version based on tags. (patchset #1 id:1 of https...
machenbach [Sun, 18 Jan 2015 15:43:02 +0000 (07:43 -0800)]
Revert of Reland Auto-generate v8 version based on tags. (patchset #1 id:1 of https://codereview.chromium.org/843913009/)

Reason for revert:
The gclient hook of v8 is not executed on this builder:

http://build.chromium.org/p/tryserver.chromium.linux/builders/android_aosp/builds/49765

Original issue's description:
> Reland Auto-generate v8 version based on tags.
>
> This relands the CL
> https://codereview.chromium.org/797503007/.
>
> It runs the version generation two times. First during
> runhooks as a fallback for recipes that loose git context
> (e.g. android_aosp). Second during compilation like in the
> original CL. In case of failures, the result from the
> runhooks call will be reused.
>
> BUG=chromium:446166
> LOG=n
>
> Committed: https://crrev.com/d3d6e38b2cba73b52bd5ed00f4441a7db3284a19
> Cr-Commit-Position: refs/heads/master@{#26120}

TBR=jochen@chromium.org,jkummerow@chromium.org,tandrii@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:446166

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

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

9 years agoReland Auto-generate v8 version based on tags.
machenbach [Sun, 18 Jan 2015 11:25:41 +0000 (03:25 -0800)]
Reland Auto-generate v8 version based on tags.

This relands the CL
https://codereview.chromium.org/797503007/.

It runs the version generation two times. First during
runhooks as a fallback for recipes that loose git context
(e.g. android_aosp). Second during compilation like in the
original CL. In case of failures, the result from the
runhooks call will be reused.

BUG=chromium:446166
LOG=n

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

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

9 years agoRevert of [turbofan] Fix bunch of tests failing with --turbo-deoptimization. (patchse...
machenbach [Sat, 17 Jan 2015 13:45:27 +0000 (05:45 -0800)]
Revert of [turbofan] Fix bunch of tests failing with --turbo-deoptimization. (patchset #1 id:1 of https://codereview.chromium.org/786333004/)

Reason for revert:
This changes layout test expectations. I ran a bisect over the layout tests:

Bad:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2032/builds/1600

Good:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2032/builds/1599

If this is intentional please first land a CL with manualrebaseline test expectations for the changed tests and then reland.

Original issue's description:
> [turbofan] Fix bunch of tests failing with --turbo-deoptimization.
>
> R=bmeurer@chromium.org
>
> Committed: https://crrev.com/e9e772121b36697821dbfff61f36e0a68367f21c
> Cr-Commit-Position: refs/heads/master@{#26115}

TBR=bmeurer@chromium.org,jarin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoMIPS: Fix after 'MIPS: split api call stubs into accessor and function call stubs'.
akos.palfi [Sat, 17 Jan 2015 09:02:07 +0000 (01:02 -0800)]
MIPS: Fix after 'MIPS: split api call stubs into accessor and function call stubs'.

Port 6950ead0b0a8373441dc8f8d3b2c316e82549ce9

This commit fixes the remaining test failures after: ec52f8df7f0956ecaed0422110847ee5634c1304

BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 17 Jan 2015 04:29:07 +0000 (20:29 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 97bfed3644c03f48864c479b8714f08ed80c5d13

TBR=machenbach@chromium.org

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

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

9 years agoMIPS: split api call stubs into accessor and function call stubs
akos.palfi [Sat, 17 Jan 2015 03:21:42 +0000 (19:21 -0800)]
MIPS: split api call stubs into accessor and function call stubs

Port 6950ead0b0a8373441dc8f8d3b2c316e82549ce9

Note: This port has known issues, there are about 40 test failures. The purpose of this commit is to unbreak the MIPS build.

BUG=

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

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

9 years ago[turbofan] Fix bunch of tests failing with --turbo-deoptimization.
jarin [Fri, 16 Jan 2015 22:23:23 +0000 (14:23 -0800)]
[turbofan] Fix bunch of tests failing with --turbo-deoptimization.

R=bmeurer@chromium.org

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

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

9 years agoUse back reference map to find references to global proxy.
yangguo [Fri, 16 Jan 2015 22:22:13 +0000 (14:22 -0800)]
Use back reference map to find references to global proxy.

R=mvstanton@chromium.org

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

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

9 years ago[turbofan] Add frame state to the PlainPrimitiveToNumber unit test.
jarin [Fri, 16 Jan 2015 22:21:08 +0000 (14:21 -0800)]
[turbofan] Add frame state to the PlainPrimitiveToNumber unit test.

R=mstarzinger@chromium.org

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

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

9 years agoAllow --always-opt to go further into the pipeline (1).
mstarzinger [Fri, 16 Jan 2015 22:20:00 +0000 (14:20 -0800)]
Allow --always-opt to go further into the pipeline (1).

R=rossberg@chromium.org

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

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

9 years agoAdd fast-path OOB support to KeyedLoadIC_Generic
jkummerow [Fri, 16 Jan 2015 22:18:48 +0000 (14:18 -0800)]
Add fast-path OOB support to KeyedLoadIC_Generic

R=verwaest@chromium.org

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

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

9 years agoExtend and fix tests for custom heap snapshot.
yangguo [Fri, 16 Jan 2015 22:17:37 +0000 (14:17 -0800)]
Extend and fix tests for custom heap snapshot.

R=vogelheim@chromium.org

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

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

9 years agoWhitespace change to trigger bots.
Michael Achenbach [Fri, 16 Jan 2015 21:56:03 +0000 (22:56 +0100)]
Whitespace change to trigger bots.

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

9 years agoWhitespace change to trigger bots.
Michael Achenbach [Fri, 16 Jan 2015 20:56:32 +0000 (21:56 +0100)]
Whitespace change to trigger bots.

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

9 years agoRevert of Revert of [turbofan] Improve memory layout of Node class. (patchset #1...
machenbach [Fri, 16 Jan 2015 19:17:55 +0000 (11:17 -0800)]
Revert of Revert of [turbofan] Improve memory layout of Node class. (patchset #1 id:1 of https://codereview.chromium.org/856813003/)

Reason for revert:
Revert didn't help.

Original issue's description:
> Revert of [turbofan] Improve memory layout of Node class. (patchset #1 id:1 of https://codereview.chromium.org/828803004/)
>
> Reason for revert:
> Speculative revert to see if win XP recovers. Will reland if not.
>
> Original issue's description:
> > [turbofan] Improve memory layout of Node class.
> >
> > Also gets rid of the reinterpret_cast on this.
> >
> > R=svenpanne@chromium.org
> >
> > Committed: https://crrev.com/f91e8046fad99365c74ccbb39d42de58398dab57
> > Cr-Commit-Position: refs/heads/master@{#26103}
>
> TBR=svenpanne@chromium.org,dcarney@chromium.org,bmeurer@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/dc6f34d83650dce8faa3e82e87c050f12732d4b3
> Cr-Commit-Position: refs/heads/master@{#26106}

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

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

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

9 years agoRevert of [turbofan] Improve memory layout of Node class. (patchset #1 id:1 of https...
machenbach [Fri, 16 Jan 2015 16:49:58 +0000 (08:49 -0800)]
Revert of [turbofan] Improve memory layout of Node class. (patchset #1 id:1 of https://codereview.chromium.org/828803004/)

Reason for revert:
Speculative revert to see if win XP recovers. Will reland if not.

Original issue's description:
> [turbofan] Improve memory layout of Node class.
>
> Also gets rid of the reinterpret_cast on this.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/f91e8046fad99365c74ccbb39d42de58398dab57
> Cr-Commit-Position: refs/heads/master@{#26103}

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

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

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

9 years agoVector-based KeyedLoadIC MISS logic needs improvement.
mvstanton [Fri, 16 Jan 2015 13:28:22 +0000 (05:28 -0800)]
Vector-based KeyedLoadIC MISS logic needs improvement.

Two issues:
1) We would trace the MISS two times on vector-based KeyedLoadIC
   with a string key in MEGAMORPHIC state.
2) There was a confusing asymmetry in the handling of going
   GENERIC. This change makes it the same whether
   --vector-ics is on or not.

BUG=

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

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

9 years agoRemove distinction between DisableTurbofan and DisableCrankshaft.
mstarzinger [Fri, 16 Jan 2015 13:21:59 +0000 (05:21 -0800)]
Remove distinction between DisableTurbofan and DisableCrankshaft.

R=rossberg@chromium.org

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

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

9 years ago[turbofan] Improve memory layout of Node class.
bmeurer [Fri, 16 Jan 2015 13:16:32 +0000 (05:16 -0800)]
[turbofan] Improve memory layout of Node class.

Also gets rid of the reinterpret_cast on this.

R=svenpanne@chromium.org

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

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

9 years agoEnable test coverage for --turbo-deoptimization mode.
mstarzinger [Fri, 16 Jan 2015 12:53:24 +0000 (04:53 -0800)]
Enable test coverage for --turbo-deoptimization mode.

R=jarin@chromium.org

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

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

9 years agoFirst simple implementation of class literals in TurboFan.
mstarzinger [Fri, 16 Jan 2015 12:38:13 +0000 (04:38 -0800)]
First simple implementation of class literals in TurboFan.

R=rossberg@chromium.org,jarin@chromium.org
TEST=cctest/test-run-jsops/ClassLiteral

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

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