Commit Graph

22080 Commits

Author SHA1 Message Date
mstarzinger
9596b36c1d [turbofan] Keep AstGraphBuilder context chain length in sync.
This keeps the length of the context chain tracked by the environment
in sync even for local control flow commands. It removes the need to
guess the correct chain length at Environment::Merge points.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27588}
2015-04-02 11:49:07 +00:00
balazs.kilvady
4c0af45717 MIPS: v8:3539 - hold constructor feedback in weak cells
BUG=v8:3539
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27587}
2015-04-02 11:41:03 +00:00
ishell
ffe886de48 Support for typed arrays added to Heap::RightTrimFixedArray().
BUG=chromium:472513
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27586}
2015-04-02 11:26:19 +00:00
dcarney
ce7cc5119c make ToLocalCheck crash in release mode
R=svenpanne@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27585}
2015-04-02 10:59:51 +00:00
sergiyb
64b3dc9082 Added version tag to the CQ config
R=machenbach@chromium.org
BUG=chromium:408675
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27584}
2015-04-02 10:41:41 +00:00
chunyang.dai
845154a896 Fix the bug in CompareIC_GenerateNumber for X87 platform.
The original code will not update the IC info if one of parameter is SMI. It Can not handle Number + Smi.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27583}
2015-04-02 10:17:00 +00:00
titzer
cdeaf08a0d [turbofan] Reduce duplication between ControlReducer::ReduceIf(True,False).
R=svenpanne@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27582}
2015-04-02 10:03:23 +00:00
mvstanton
b134ae74b5 v8:3539 - hold constructor feedback in weak cells
BUG=v8:3539
R=verwaest@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27581}
2015-04-02 09:39:35 +00:00
jochen
2a5eb8299b Expose an API on ArrayBufferView to copy out content w/o changing the buffer
BUG=v8:3996
LOG=y
R=dslomov@chromium.org,kbr@chromium.org,hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27580}
2015-04-02 09:36:39 +00:00
jochen
83f827a00b Add initial set of sub directory OWNERS file
BUG=none
R=danno@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27579}
2015-04-02 08:46:24 +00:00
svenpanne
1592870822 Fixed the range information for string lengths.
Currently, this doesn't really help to generate better code,
nevertheless this is the right thing to do. When our type system(s)
are fixed, this should avoid falling back to floating point operations
in various cases.

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

Cr-Commit-Position: refs/heads/master@{#27578}
2015-04-02 08:32:51 +00:00
Erik Arvidsson
4977a4a83a Disable a new failing test262-es6 test
language/asi/S7.9_A5.7_T1

http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/3024/steps/Test262-es6/logs/S7.9_A5.7_T1

This looks suspicious. Maybe the monkeyYaml is the reason for this?

BUG=None
TBR=adamk

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

Cr-Commit-Position: refs/heads/master@{#27577}
2015-04-01 22:28:20 +00:00
arv
5639a767ec Update test262-es6 to 2015-03-31
BUG=None
LOG=N
R=adamk, rossberg

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

Cr-Commit-Position: refs/heads/master@{#27576}
2015-04-01 21:51:25 +00:00
balazs.kilvady
0f086d1412 MIPS: Rename BranchF functions.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27575}
2015-04-01 18:39:43 +00:00
paul.lind
94506cc3c2 MIPS: Fix stack claim and store to slot for large sizes.
Could not encode the large slot number in opcode MiscField.

TEST=mozilla/js/tests/js1_5/Regress/regress-396684.js
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27574}
2015-04-01 18:18:39 +00:00
erikcorry
1ac47e6138 Fix external-snapshot startup when snapshot is missing, but natives source is available
R=vogelheim@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27573}
2015-04-01 18:07:40 +00:00
arv
18cb17c924 ES6: Error functions should extend Error
The /NativeError/ functions should have Error as their [[Prototype]].

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-properties-of-the-nativeerror-constructors

BUG=v8:3998
LOG=N
R=adamk, dslomov@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#27572}
2015-04-01 17:29:59 +00:00
erikcorry
5a93a3304c Reland: Fix JSON parser Handle leak (previous CL 1041483004)
R=mstarzinger@chromium.org
BUG=v8:3976
BUG=472504
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27571}
2015-04-01 16:58:47 +00:00
jochen
294cdc6aec Turn off overapproximation of the weak closure again
As long as we still have to process global handles, the impact is not
yet worthwhile

BUG=v8:3862
R=hpayer@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27570}
2015-04-01 16:52:25 +00:00
arv
4374941837 [es6] Object.getOwnPropertyDescriptor should wrap primitives
In ES6 Object.getOwnPropertyDescriptor should call ToObject, which
means that primitive values will return descriptors from the wrapper.

BUG=v8:3964
LOG=N
R=adamk, rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#27569}
2015-04-01 15:45:08 +00:00
ulan
bde8943968 Revert of Remove promotion backup case and report OOM instead. (patchset #2 id:20001 of https://codereview.chromium.org/977013003/)
Reason for revert:
Spike in OOM crashes: crbug.com/403113

Original issue's description:
> Remove promotion backup case and report OOM instead.
>
> There are no test cases for this piece of code and it is really hard to test. If this rare case triggers, we are anyway in an OOM situation and would crash probably soon afterwards.
>
> BUG=
>
> Committed: https://crrev.com/e813afaf127ab80290153ab676dc07212bdc8946
> Cr-Commit-Position: refs/heads/master@{#27026}

TBR=mstarzinger@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27568}
2015-04-01 15:37:56 +00:00
mike
30ea626886 Remove invalid assertion
The removed assertion consistently passes not because the invoked
`close` method internally throws a `TypeError` but because the `close`
method does not exist. The ES6 specification does not define a `close`
method on the GeneratorPrototype, so this test is a tautology.

BUG=None
LOG=N
R=arv

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

Cr-Commit-Position: refs/heads/master@{#27567}
2015-04-01 15:22:19 +00:00
mike
3badfdcd50 Re-write duplicated assertions
The modified assertions targeted the property descriptor for the
template object's first "cooked" value. The code immediately preceeding
these statements asserts these values.

Update the assertions to instead target the property descriptor for the
template object's first "raw" value (which are otherwise untested).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27566}
2015-04-01 15:13:21 +00:00
jochen
4339480619 Revert of Add CHECKs when updating pointers from the slots and store buffers (patchset #3 id:40001 of https://codereview.chromium.org/1035763002/)
Reason for revert:
Got one dev-channel with this. Should be enough.

Original issue's description:
> Add CHECKs  when updating pointers from the slots and store buffers
>
> We want to verify that we always overwrite heap objects with heap
> objects, and non-heap objects with non-heap objects
>
> BUG=chromium:452095
> R=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/58fbcfac8ae82b1241f07e1b8ea81a5973514c11
> Cr-Commit-Position: refs/heads/master@{#27479}

TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:452095

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

Cr-Commit-Position: refs/heads/master@{#27565}
2015-04-01 14:35:47 +00:00
kozyatinskiy
66d5519f7e Revert of Correctly compute line numbers in functions from the function constructor. (patchset #5 id:80001 of https://codereview.chromium.org/701093003/)
Reason for revert:
Locations from New Function are broken in DevTools.

Original issue's description:
> Correctly compute line numbers in functions from the function constructor.
>
> R=aandrey@chromium.org
> BUG=chromium:109362
> LOG=Y
>
> Committed: https://code.google.com/p/v8/source/detail?r=25289

TBR=aandrey@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:109362
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27564}
2015-04-01 10:11:26 +00:00
hablich
ef7e6fb165 usage: Tool to check where a git commit was merged and reverted.
[-h] [-g GIT_DIR] hash

positional arguments:
  hash                  Hash of the commit to be searched.

optional arguments:
  -h, --help            show this help message and exit
  -g GIT_DIR, --git-dir GIT_DIR
                        The path to your git working directory.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27563}
2015-04-01 09:42:15 +00:00
erikcorry
77dd1f347d Revert of Fix JSON parser Handle leak (patchset #3 id:40001 of https://codereview.chromium.org/1041483004/)
Reason for revert:
Reverting due to JSOn parser failures

Original issue's description:
> Fix JSON parser Handle leak
>
> R=verwaest@chromium.org
> BUG=v8:3976
> LOG=y
>
> Committed: https://crrev.com/1ec850383bb82f6d8bebc7416e5f50b649d1eeaa
> Cr-Commit-Position: refs/heads/master@{#27512}

TBR=verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3976

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

Cr-Commit-Position: refs/heads/master@{#27562}
2015-04-01 09:23:02 +00:00
erikcorry
1912814f01 Revert of Relax assert a little to fix flake on regress-3976 (patchset #1 id:1 of https://codereview.chromium.org/1045763002/)
Reason for revert:
Reverting due to JSOn parser failures

Original issue's description:
> Relax assert a little to fix flake on regress-3976
>
> R=verwaest@chromium.org
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/b20edd7772892ff8b2b280b35e521fbc2cc4a5f6
> Cr-Commit-Position: refs/heads/master@{#27515}

TBR=verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27561}
2015-04-01 09:21:01 +00:00
Michael Achenbach
974cdb6d18 Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#27560}
2015-04-01 08:19:38 +00:00
halton.huo
fafcc0d717 [GN] Use correct toolchain for x64 target on Android
This commit is to fix the linking error:
  ../../v8/src/base/platform/platform-posix.cc:418: error: undefined reference to '__android_log_vprint'

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

Cr-Commit-Position: refs/heads/master@{#27559}
2015-04-01 01:44:33 +00:00
arv
d4a314f9dc [es6] Object.getPrototypeOf should work with values
This reverts commit 992751d0dc.

The final spec for Object.getPrototypeOf calls ToObject on the
parameter, which means that it should only throw for null and
undefined. For other non object values the prototype of the wrapper
should be used.

Difference from last time: Updated .status and will disable Blink
side tests as needed.

BUG=v8:3964
LOG=N
R=adamk, rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#27558}
2015-04-01 00:22:39 +00:00
adamk
729b85ae86 Add a UseCounter for Object.observe
It triggers once per context that calls observe (or attempts to access
any observation metadata, e.g. through Object.getNotifier).

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

Cr-Commit-Position: refs/heads/master@{#27557}
2015-03-31 23:03:19 +00:00
dusan.milosavljevic
eb982a1bb1 MIPS: Fix assembler test for selection instructions to be run for r6 only.
TEST=test-assembler-mips/MIPS16
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27556}
2015-03-31 22:40:03 +00:00
akos.palfi
eda4b5bcd2 MIPS64: Ensure object literal element boilerplates aren't modified.
Port 7c347c545e

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27555}
2015-03-31 19:53:09 +00:00
kozyatinskiy
9f6b1333a1 [V8] Don't ignore sourceURL comment in inline scripts in .stack
In DevTools we've already used sourceURL in inline scripts.
This CL makes the behavior of the V8 in the same for Error.stack property and v8::StackTrace.

BUG=v8:3920
LOG=Y
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27554}
2015-03-31 19:36:06 +00:00
paul.lind
5b76043481 MIPS64: Fix exception return from regexp CheckStackGuardState().
Lack of sign extension on simulator builds gives bad value for
RETRY and EXCEPTION codes.

TEST=mjsunit/regexp-stack-overflow, regress-crbug-467047
BUG=v8:3992
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27553}
2015-03-31 18:39:02 +00:00
michael_dawson
4922412a72 PPC: Ensure object literal element boilerplates aren't modified.
Port 7c347c545e

Original commit message:
A bug allows JSObject literals with elements to have the elements in the
boilerplate modified.

R=mbrandy@us.ibm.com

BUG=466993
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27552}
2015-03-31 18:30:26 +00:00
balazs.kilvady
6cb0e87cea Finish 'MIPS: [turbofan] Add backend support for float32 operations.'
Add missing parts of the port to MIPS/MIPS64 implementations.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27551}
2015-03-31 18:26:13 +00:00
jochen
3fbc0cb79a Deprecate IdleNotification()
Embedders should use IdleNotificationDeadline()

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

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

Cr-Commit-Position: refs/heads/master@{#27550}
2015-03-31 17:11:21 +00:00
hpayer
4e0209f8a5 Verify evacuation when sweeping is completed.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27549}
2015-03-31 15:39:45 +00:00
arv
bb21979adf ES6: Unscopable should use ToBoolean
The spec settled on ToBoolean instead of only using not undefined.

BUG=v8:3827
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#27548}
2015-03-31 15:14:20 +00:00
michael_dawson
2dd659f8e7 PPC: [turbofan] Add backend support for float32 operations.
Port 8dad78cdbd

Original commit message:
This adds the basics necessary to support float32 operations in TurboFan.
The actual functionality required to detect safe float32 operations will
be added based on this later. Therefore this does not affect production
code except for some cleanup/refactoring.

In detail, this patchset contains the following features:
- Add support for float32 operations to arm, arm64, ia32 and x64
  backends.
- Add float32 machine operators.
- Add support for float32 constants to simplified lowering.
- Handle float32 representation for phis in simplified lowering.

In addition, contains the following (related) cleanups:
- Fix/unify naming of backend instructions.
- Use AVX comparisons when available.
- Extend ArchOpcodeField to 9 bits (required for arm64).
- Refactor some code duplication in instruction selectors.

BUG=v8:3589
LOG=N

R=mbrandy@us.ibm.com

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

Cr-Commit-Position: refs/heads/master@{#27547}
2015-03-31 14:54:37 +00:00
mstarzinger
e5ac65094c [turbofan] Make throwing expressions kill the environment.
This ensures that all expressions that throw actually mark the current
environment as dead in the AstGraphBuilder. This prevents live ranges
from being unnecessarily increased by paths that don't fall-through.
Note that we can do that because Runtime::kThrowFoo never returns.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27546}
2015-03-31 14:26:04 +00:00
arv
a373b089e9 Remove --harmony-numeric-literal flag
We have been shipping harmony numeric literals since M41

R=rossberg@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27545}
2015-03-31 14:24:30 +00:00
ulan
21241680ae Reland "Allow compaction when incremental marking is on."
BUG=chromium:450824
LOG=NO
TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27544}
2015-03-31 14:06:13 +00:00
arv
a56fa150d1 [es6] Update test262 tests
Second try. Disabled the tests that were failing due to
https://github.com/tc39/test262/issues/215

This updates test262 to revision d24fd10 (2015/03/11).

The files moved around in the test repo and a lot of new tests are
failing.

BUG=None
LOG=N
R=adamk, rossberg

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

Cr-Commit-Position: refs/heads/master@{#27543}
2015-03-31 13:56:57 +00:00
jarin
ad16b35995 [turbofan] Weaken a DCHECK to allow tagged numbers as double constants in frame states.
BUG=chromium:472078
LOG=n
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27542}
2015-03-31 13:46:58 +00:00
mstarzinger
48c185fe75 [turbofan] Fix properties of IrOpcode::kThrow operator.
This changes the IrOpcode::kThrow operator to have kNoThrow property,
which sounds unintuitive, but holds for our graphs. The operators is
used to indicate exceptional control flow out of the function, but in
itself does not throw, the throwing is done by a runtime call.

R=titzer@chromium.org
TEST=unittests/CommonOperatorTest/CommonSharedOperatorTest.Properties

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

Cr-Commit-Position: refs/heads/master@{#27541}
2015-03-31 13:44:04 +00:00
svenpanne
677f3d5fd7 Added %_Likely/%_Unlikely intrinsics (special cases of GCC's __builin_expect).
Currently this only sets branch hints, so we get unlikely code "out of
the way", but in the long run the register allocator needs some love
to treat the unlikely code as, well, unlikely. :-)

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

Cr-Commit-Position: refs/heads/master@{#27540}
2015-03-31 13:23:23 +00:00
verwaest
a5522eaff7 Put newspace evacuation in an EvacuationScope
BUG=chromium:471554
LOG=y
R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27539}
2015-03-31 13:18:07 +00:00