platform/upstream/v8.git
9 years agoUpdated version to 4.4
hablich [Mon, 6 Apr 2015 21:32:07 +0000 (14:32 -0700)]
Updated version to 4.4

BUG=
TBR=machenbach@chromium.org,vogelheim@chromium.org
NOTRY=true

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

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

9 years agoRe-implement %Generator% intrinsic as an object
mike [Mon, 6 Apr 2015 21:04:43 +0000 (14:04 -0700)]
Re-implement %Generator% intrinsic as an object

From ES6 25.2.3 ("Properties of the GeneratorFunction Prototype
Object"):

> The GeneratorFunction prototype object is an ordinary object. It is
> not a function object and does not have an [[ECMAScriptCode]] internal
> slot or any other of the internal slots listed in Table 27 or Table
> 56.

Introduce one assertion for the value's type and additional tests for its
properties. Remove an invalid assertion that fails as a result of this
fix.

BUG=v8:3991
LOG=N

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

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

9 years agoFilter out remembered slots that are at the start of an object.
hpayer [Mon, 6 Apr 2015 14:58:06 +0000 (07:58 -0700)]
Filter out remembered slots that are at the start of an object.

These slots are invalid and can result in a broken offset when slot index and start of object are equal and are at the beginning of a cell.

Moreover, make DCHECKs CHECKs to catch bugs in the wild.

BUG=chromium:473174
LOG=n

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

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

9 years agoMIPS: Major fixes and clean-up in asm. for instruction encoding.
dusan.milosavljevic [Mon, 6 Apr 2015 11:54:38 +0000 (04:54 -0700)]
MIPS: Major fixes and clean-up in asm. for instruction encoding.

- Fixed single float register type instruction en[de]coding in assembler and disassembler.
- Added max and min instructions for r6 and corresponding tests.
- Fixed selection instruction for boundary cases in simulator.
- Update assembler tests to be more thorough wrt boundary cases.

TEST=cctest/test-assembler-mips64/MIPS17, MIPS18
     cctest/test-disasm-mips64/Type1
     cctest/test-assembler-mips/MIPS16, MIPS17
     cctest/test-disasm-mips/Type1
BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 4 Apr 2015 03:47:22 +0000 (20:47 -0700)]
Update V8 DEPS.

Rolling v8/third_party/icu to e4c31439828d356525b71ef81a6d61ea50d7d673

TBR=machenbach@chromium.org

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

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

9 years agoMIPS64: Improve deopt jump table code size.
dusan.milosavljevic [Fri, 3 Apr 2015 18:02:17 +0000 (11:02 -0700)]
MIPS64: Improve deopt jump table code size.

The number of generated instructions per table entry is reduced from six to
two, or four in worst-case scenario.

TEST=
BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 3 Apr 2015 03:24:49 +0000 (20:24 -0700)]
Update V8 DEPS.

Rolling v8/build/gyp to 2889664b9fa88cce175c5c7cdf207d28420a7412

TBR=machenbach@chromium.org

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

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

9 years agoX87: Generate common StoreFastElementStubs ahead of time
chunyang.dai [Fri, 3 Apr 2015 03:09:17 +0000 (20:09 -0700)]
X87: Generate common StoreFastElementStubs ahead of time

port 16ee55097a01a229634095226f7a207bea3626de (r27536)

original commit message:

  Generate common StoreFastElementStubs ahead of time

BUG=

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

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

9 years agox87: v8:3539 - hold constructor feedback in weak cells
chunyang.dai [Fri, 3 Apr 2015 03:03:09 +0000 (20:03 -0700)]
x87: v8:3539 - hold constructor feedback in weak cells

port b134ae74b5fe4750588cef81a06b6fabd2507409 (r27581)

original commit message:

   v8:3539 - hold constructor feedback in weak cells

BUG=

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

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

9 years agoX87: Ensure object literal element boilerplates aren't modified.
chunyang.dai [Fri, 3 Apr 2015 02:55:00 +0000 (19:55 -0700)]
X87: Ensure object literal element boilerplates aren't modified.

port 7c347c545e33d279b5aa476e754a5358201be846 (r27511)

original commit message:

    A bug allows JSObject literals with elements to have the elements in the
    boilerplate modified.

BUG=

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

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

9 years agoPPC: v8:3539 - hold constructor feedback in weak cells
michael_dawson [Thu, 2 Apr 2015 19:49:02 +0000 (12:49 -0700)]
PPC: v8:3539 - hold constructor feedback in weak cells

Port b134ae74b5fe4750588cef81a06b6fabd2507409

Original commit message:
BUG=v8:3539
LOG=N

R=verwaest@chromium.org, mbrandy@us.ibm.com

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

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

9 years agoMIPS: Remove unused J(Label *).
paul.lind [Thu, 2 Apr 2015 18:45:02 +0000 (11:45 -0700)]
MIPS: Remove unused J(Label *).

Remove unused macro-asm instruction and associated address patching.

On mips64, remove unused JumpLabelToJumpRegister(). On mips, rename
it appropriately (it's still used there for JR->J optimizations).

BUG=

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

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

9 years agoMIPS: Fix another bug with mozilla regress-396684.js
paul.lind [Thu, 2 Apr 2015 15:19:45 +0000 (08:19 -0700)]
MIPS: Fix another bug with mozilla regress-396684.js

As with TF fix 94506cc3, correctly support absurdly large stack
adjustments.

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

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

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

9 years ago[turbofan] Improve branch folding over phis and ranges.
titzer [Thu, 2 Apr 2015 15:18:35 +0000 (08:18 -0700)]
[turbofan] Improve branch folding over phis and ranges.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoAdd missing license headers for some cctests.
phajdan.jr [Thu, 2 Apr 2015 14:45:44 +0000 (07:45 -0700)]
Add missing license headers for some cctests.

BUG=chromium:98597
LOG=N

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

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

9 years agoRevert of make ToLocalCheck crash in release mode (patchset #1 id:1 of https://codere...
dcarney [Thu, 2 Apr 2015 13:09:23 +0000 (06:09 -0700)]
Revert of make ToLocalCheck crash in release mode (patchset #1 id:1 of https://codereview.chromium.org/1043363005/)

Reason for revert:
breaks some devtools things

Original issue's description:
> make ToLocalCheck crash in release mode
>
> R=svenpanne@chromium.org
> BUG=
>
> Committed: https://crrev.com/ce7cc5119c1e031bf1eb8476fbf5e55bef738f94
> Cr-Commit-Position: refs/heads/master@{#27585}

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

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

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

9 years ago[turbofan] Keep AstGraphBuilder context chain length in sync.
mstarzinger [Thu, 2 Apr 2015 11:49:03 +0000 (04:49 -0700)]
[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}

9 years agoMIPS: v8:3539 - hold constructor feedback in weak cells
balazs.kilvady [Thu, 2 Apr 2015 11:40:57 +0000 (04:40 -0700)]
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}

9 years agoSupport for typed arrays added to Heap::RightTrimFixedArray().
ishell [Thu, 2 Apr 2015 11:26:11 +0000 (04:26 -0700)]
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}

9 years agomake ToLocalCheck crash in release mode
dcarney [Thu, 2 Apr 2015 10:59:45 +0000 (03:59 -0700)]
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}

9 years agoAdded version tag to the CQ config
sergiyb [Thu, 2 Apr 2015 10:41:38 +0000 (03:41 -0700)]
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}

9 years agoFix the bug in CompareIC_GenerateNumber for X87 platform.
chunyang.dai [Thu, 2 Apr 2015 10:16:57 +0000 (03:16 -0700)]
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}

9 years ago[turbofan] Reduce duplication between ControlReducer::ReduceIf(True,False).
titzer [Thu, 2 Apr 2015 10:03:15 +0000 (03:03 -0700)]
[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}

9 years agov8:3539 - hold constructor feedback in weak cells
mvstanton [Thu, 2 Apr 2015 09:39:32 +0000 (02:39 -0700)]
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}

9 years agoExpose an API on ArrayBufferView to copy out content w/o changing the buffer
jochen [Thu, 2 Apr 2015 09:36:37 +0000 (02:36 -0700)]
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}

9 years agoAdd initial set of sub directory OWNERS file
jochen [Thu, 2 Apr 2015 08:46:18 +0000 (01:46 -0700)]
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}

9 years agoFixed the range information for string lengths.
svenpanne [Thu, 2 Apr 2015 08:32:48 +0000 (01:32 -0700)]
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}

9 years agoDisable a new failing test262-es6 test
Erik Arvidsson [Wed, 1 Apr 2015 22:28:13 +0000 (18:28 -0400)]
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}

9 years agoUpdate test262-es6 to 2015-03-31
arv [Wed, 1 Apr 2015 21:51:19 +0000 (14:51 -0700)]
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}

9 years agoMIPS: Rename BranchF functions.
balazs.kilvady [Wed, 1 Apr 2015 18:39:22 +0000 (11:39 -0700)]
MIPS: Rename BranchF functions.

BUG=

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

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

9 years agoMIPS: Fix stack claim and store to slot for large sizes.
paul.lind [Wed, 1 Apr 2015 18:18:34 +0000 (11:18 -0700)]
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}

9 years agoFix external-snapshot startup when snapshot is missing, but natives source is available
erikcorry [Wed, 1 Apr 2015 18:07:31 +0000 (11:07 -0700)]
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}

9 years agoES6: Error functions should extend Error
arv [Wed, 1 Apr 2015 17:29:48 +0000 (10:29 -0700)]
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}

9 years agoReland: Fix JSON parser Handle leak (previous CL 1041483004)
erikcorry [Wed, 1 Apr 2015 16:58:32 +0000 (09:58 -0700)]
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}

9 years agoTurn off overapproximation of the weak closure again
jochen [Wed, 1 Apr 2015 16:52:18 +0000 (09:52 -0700)]
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}

9 years ago[es6] Object.getOwnPropertyDescriptor should wrap primitives
arv [Wed, 1 Apr 2015 15:45:00 +0000 (08:45 -0700)]
[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}

9 years agoRevert of Remove promotion backup case and report OOM instead. (patchset #2 id:20001...
ulan [Wed, 1 Apr 2015 15:37:46 +0000 (08:37 -0700)]
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}

9 years agoRemove invalid assertion
mike [Wed, 1 Apr 2015 15:22:09 +0000 (08:22 -0700)]
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}

9 years agoRe-write duplicated assertions
mike [Wed, 1 Apr 2015 15:13:16 +0000 (08:13 -0700)]
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}

9 years agoRevert of Add CHECKs when updating pointers from the slots and store buffers (patchs...
jochen [Wed, 1 Apr 2015 14:35:34 +0000 (07:35 -0700)]
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}

9 years agoRevert of Correctly compute line numbers in functions from the function constructor...
kozyatinskiy [Wed, 1 Apr 2015 10:11:13 +0000 (03:11 -0700)]
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}

9 years agousage: Tool to check where a git commit was merged and reverted.
hablich [Wed, 1 Apr 2015 09:42:09 +0000 (02:42 -0700)]
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}

9 years agoRevert of Fix JSON parser Handle leak (patchset #3 id:40001 of https://codereview...
erikcorry [Wed, 1 Apr 2015 09:22:57 +0000 (02:22 -0700)]
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}

9 years agoRevert of Relax assert a little to fix flake on regress-3976 (patchset #1 id:1 of...
erikcorry [Wed, 1 Apr 2015 09:20:51 +0000 (02:20 -0700)]
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}

9 years agoWhitespace change to trigger bots.
Michael Achenbach [Wed, 1 Apr 2015 08:19:25 +0000 (10:19 +0200)]
Whitespace change to trigger bots.

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

9 years ago[GN] Use correct toolchain for x64 target on Android
halton.huo [Wed, 1 Apr 2015 01:44:22 +0000 (18:44 -0700)]
[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}

9 years ago[es6] Object.getPrototypeOf should work with values
arv [Wed, 1 Apr 2015 00:22:33 +0000 (17:22 -0700)]
[es6] Object.getPrototypeOf should work with values

This reverts commit 992751d0dc5be63845a371cb9fb2c1313efb3bdf.

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}

9 years agoAdd a UseCounter for Object.observe
adamk [Tue, 31 Mar 2015 23:03:08 +0000 (16:03 -0700)]
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}

9 years agoMIPS: Fix assembler test for selection instructions to be run for r6 only.
dusan.milosavljevic [Tue, 31 Mar 2015 22:39:49 +0000 (15:39 -0700)]
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}

9 years agoMIPS64: Ensure object literal element boilerplates aren't modified.
akos.palfi [Tue, 31 Mar 2015 19:53:03 +0000 (12:53 -0700)]
MIPS64: Ensure object literal element boilerplates aren't modified.

Port 7c347c545e33d279b5aa476e754a5358201be846

BUG=

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

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

9 years ago[V8] Don't ignore sourceURL comment in inline scripts in .stack
kozyatinskiy [Tue, 31 Mar 2015 19:35:59 +0000 (12:35 -0700)]
[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}

9 years agoMIPS64: Fix exception return from regexp CheckStackGuardState().
paul.lind [Tue, 31 Mar 2015 18:38:52 +0000 (11:38 -0700)]
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}

9 years agoPPC: Ensure object literal element boilerplates aren't modified.
michael_dawson [Tue, 31 Mar 2015 18:30:18 +0000 (11:30 -0700)]
PPC: Ensure object literal element boilerplates aren't modified.

Port 7c347c545e33d279b5aa476e754a5358201be846

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}

9 years agoFinish 'MIPS: [turbofan] Add backend support for float32 operations.'
balazs.kilvady [Tue, 31 Mar 2015 18:25:54 +0000 (11:25 -0700)]
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}

9 years agoDeprecate IdleNotification()
jochen [Tue, 31 Mar 2015 17:11:10 +0000 (10:11 -0700)]
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}

9 years agoVerify evacuation when sweeping is completed.
hpayer [Tue, 31 Mar 2015 15:39:37 +0000 (08:39 -0700)]
Verify evacuation when sweeping is completed.

BUG=

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

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

9 years agoES6: Unscopable should use ToBoolean
arv [Tue, 31 Mar 2015 15:14:04 +0000 (08:14 -0700)]
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}

9 years agoPPC: [turbofan] Add backend support for float32 operations.
michael_dawson [Tue, 31 Mar 2015 14:54:29 +0000 (07:54 -0700)]
PPC: [turbofan] Add backend support for float32 operations.

Port 8dad78cdbd21c2cd02d6e0645313bd4b9983c78e

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}

9 years ago[turbofan] Make throwing expressions kill the environment.
mstarzinger [Tue, 31 Mar 2015 14:25:56 +0000 (07:25 -0700)]
[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}

9 years agoRemove --harmony-numeric-literal flag
arv [Tue, 31 Mar 2015 14:24:13 +0000 (07:24 -0700)]
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}

9 years agoReland "Allow compaction when incremental marking is on."
ulan [Tue, 31 Mar 2015 14:06:03 +0000 (07:06 -0700)]
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}

9 years ago[es6] Update test262 tests
arv [Tue, 31 Mar 2015 13:56:48 +0000 (06:56 -0700)]
[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}

9 years ago[turbofan] Weaken a DCHECK to allow tagged numbers as double constants in frame states.
jarin [Tue, 31 Mar 2015 13:46:49 +0000 (06:46 -0700)]
[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}

9 years ago[turbofan] Fix properties of IrOpcode::kThrow operator.
mstarzinger [Tue, 31 Mar 2015 13:43:56 +0000 (06:43 -0700)]
[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}

9 years agoAdded %_Likely/%_Unlikely intrinsics (special cases of GCC's __builin_expect).
svenpanne [Tue, 31 Mar 2015 13:23:06 +0000 (06:23 -0700)]
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}

9 years agoPut newspace evacuation in an EvacuationScope
verwaest [Tue, 31 Mar 2015 13:17:59 +0000 (06:17 -0700)]
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}

9 years ago[turbofan] smash GapInstruction into Instruction
dcarney [Tue, 31 Mar 2015 13:06:37 +0000 (06:06 -0700)]
[turbofan] smash GapInstruction into Instruction

R=titzer@chromium.org
BUG=

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

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

9 years ago[turbofan] Project exception value out of calls.
mstarzinger [Tue, 31 Mar 2015 12:26:26 +0000 (05:26 -0700)]
[turbofan] Project exception value out of calls.

TEST=cctest/test-run-jsexceptions

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

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

9 years agoGenerate common StoreFastElementStubs ahead of time
verwaest [Tue, 31 Mar 2015 12:25:12 +0000 (05:25 -0700)]
Generate common StoreFastElementStubs ahead of time

BUG=

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

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

9 years agoFix libdl dependency on Android and remove librt hack.
rmcilroy [Tue, 31 Mar 2015 12:08:10 +0000 (05:08 -0700)]
Fix libdl dependency on Android and remove librt hack.

The libdl library is already included on target builds of Android and needs
to be added to the build command line with a particular order to avoid
undefined references in other libraries. Fix this by only explicitly including
it in host builds and relying on the implicit inclusion on target builds.

Also remove the librt hack which is not longer necessary due to the AOSP build
bot having been removed.

BUG=chromium:469973
LOG=Y

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

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

9 years agoMIPS64: [turbofan] Add backend support for float32 operations.
akos.palfi [Tue, 31 Mar 2015 11:27:03 +0000 (04:27 -0700)]
MIPS64: [turbofan] Add backend support for float32 operations.

Port 8dad78cdbd21c2cd02d6e0645313bd4b9983c78e

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=

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

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

9 years agoARM simulator needs a StackCheck in GetPropertyWithDefinedGetter.
mvstanton [Tue, 31 Mar 2015 10:37:34 +0000 (03:37 -0700)]
ARM simulator needs a StackCheck in GetPropertyWithDefinedGetter.

Because simulators have a seperate JavaScript and C++ stack, and
because they try to avoid calling the runtime StackCheck function
on entry to every function, it can happen in recursive calls that
the C++ stack overflows while the JavaScript stack is okay. The
runtime StackCheck function would catch this, but as an optimization,
generated code only looks at the JavaScript stack pointer to
determine if it should make that runtime call.

R=ulan@chromium.org
BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 31 Mar 2015 04:11:01 +0000 (21:11 -0700)]
Update V8 DEPS.

Rolling v8/third_party/icu to 46be516de5c83aa0b7b3b75be669b48e7a803290

Rolling v8/tools/clang to 6aa9a498bf4c1567efe9b78da82678ed1e8e3298

TBR=machenbach@chromium.org

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

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

9 years agoMIPS: [turbofan] Add backend support for float32 operations.
balazs.kilvady [Mon, 30 Mar 2015 19:56:30 +0000 (12:56 -0700)]
MIPS: [turbofan] Add backend support for float32 operations.

Port 8dad78cdbd21c2cd02d6e0645313bd4b9983c78e

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

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

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

9 years agoMIPS: Refactor simulator and add selection instructions for r6.
dusan.milosavljevic [Mon, 30 Mar 2015 17:36:56 +0000 (10:36 -0700)]
MIPS: Refactor simulator and add selection instructions for r6.

TEST=
BUG=

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

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

9 years agoEnsure that GC idle notifications either make progress or stop requesting more GCs.
rmcilroy [Mon, 30 Mar 2015 17:04:50 +0000 (10:04 -0700)]
Ensure that GC idle notifications either make progress or stop requesting more GCs.

The V8::IdleNotification will only return 'True' when the gc idle time handler
thinks there is no more GC which can be done. However, the gc idle task handler
can end up repeatedly making no progress (e.g., if it can't finalize a sweep)
which causes idle tasks to be repeatedly scheduled in Chrome which do nothing
but wake up Chrome. Fix this by returning Done if we can't make any progress
within an Idle Round.

BUG=chromium:470615
LOG=Y

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

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

9 years agoLayout descriptor must be trimmed when corresponding descriptors array is trimmed...
ishell [Mon, 30 Mar 2015 17:03:41 +0000 (10:03 -0700)]
Layout descriptor must be trimmed when corresponding descriptors array is trimmed to stay in sync.

BUG=chromium:470804
LOG=Y

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

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

9 years agoMoved verifier specific properties into verifier configs
Sergiy Byelozyorov [Mon, 30 Mar 2015 16:53:36 +0000 (18:53 +0200)]
Moved verifier specific properties into verifier configs

R=machenbach@chromium.org

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

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

9 years agoUse counter for legacy const.
dslomov [Mon, 30 Mar 2015 16:20:53 +0000 (09:20 -0700)]
Use counter for legacy const.

We only report the usages when full parse is happening, i.e. only when the function that declares a legacy const is compiled. This is an approximation that is easy to implement, but still should reflect the real-world usage.

BUG=v8:3942
LOG=N

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

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

9 years agoRevert of [es6] Update test262 tests (patchset #4 id:60001 of https://codereview...
arv [Mon, 30 Mar 2015 15:22:43 +0000 (08:22 -0700)]
Revert of [es6] Update test262 tests (patchset #4 id:60001 of https://codereview.chromium.org/1025043002/)

Reason for revert:
Bot failed to include verifyNotEnumerable function for some screwed up reason.

Original issue's description:
> [es6] Update test262 tests
>
> 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=rossberg
>
> Committed: https://crrev.com/4f2fb3835feff3663146f12be42b01a226d0065e
> Cr-Commit-Position: refs/heads/master@{#27522}

TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None

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

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

9 years ago[turbofan] Fix test of %_MathClz32 intrinsic.
mstarzinger [Mon, 30 Mar 2015 15:10:29 +0000 (08:10 -0700)]
[turbofan] Fix test of %_MathClz32 intrinsic.

This test will fail once we optimize top-level code, because the
aforementioned intrinsic doesn't perform a NumberToUint32 conversion.

R=titzer@chromium.org
TEST=mjsunit/asm/math-clz32

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

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

9 years agoRe-work the 'external snapshot' related build rules.
vogelheim [Mon, 30 Mar 2015 14:54:22 +0000 (07:54 -0700)]
Re-work the 'external snapshot' related build rules.
This prepares for re-landing crrev.com/956373002

This pulls all decision about the snapshot [no|internal|external] into one rule. Previously, this logic was in separate places and not /quite/ the same, which causes build problems.

BUG=

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

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

9 years ago[es6] Update test262 tests
arv [Mon, 30 Mar 2015 14:28:03 +0000 (07:28 -0700)]
[es6] Update test262 tests

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=rossberg

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

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

9 years ago[Crankshaft] Don't add an instruction twice for %_StringGetLength.
svenpanne [Mon, 30 Mar 2015 12:41:54 +0000 (05:41 -0700)]
[Crankshaft] Don't add an instruction twice for %_StringGetLength.

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

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

9 years agoRecord various overflow events on the heap - reland of 1029323003
erikcorry [Mon, 30 Mar 2015 11:56:25 +0000 (04:56 -0700)]
Record various overflow events on the heap - reland of 1029323003

R=hpayer@chromium.org
BUG=

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

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

9 years agoFix speedup of typedarray-length loading in the ICs as well as Crankshaft
verwaest [Mon, 30 Mar 2015 11:50:04 +0000 (04:50 -0700)]
Fix speedup of typedarray-length loading in the ICs as well as Crankshaft

BUG=

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

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

9 years agofix special index parsing
dcarney [Mon, 30 Mar 2015 11:40:57 +0000 (04:40 -0700)]
fix special index parsing

R=verwaest@chromium.org,dslomov@chromium.org

BUG=

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

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

9 years agoAllow more scavenges in idle notification by increasing the new space limit distance.
hpayer [Mon, 30 Mar 2015 11:39:50 +0000 (04:39 -0700)]
Allow more scavenges in idle notification by increasing the new space limit distance.

BUG=chromium:468554
LOG=n

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

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

9 years agoReland "Match fneg for -0.0 - x pattern."
baptiste.afsa [Mon, 30 Mar 2015 10:52:51 +0000 (03:52 -0700)]
Reland "Match fneg for -0.0 - x pattern."

R=bmeurer@chromium.org

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

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

9 years agoRelax assert a little to fix flake on regress-3976
erikcorry [Mon, 30 Mar 2015 10:37:29 +0000 (03:37 -0700)]
Relax assert a little to fix flake on regress-3976

R=verwaest@chromium.org
NOTRY=true
BUG=

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

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

9 years agoMIPS64: Improve loading constants for double and integer values.
dusan.milosavljevic [Mon, 30 Mar 2015 10:32:17 +0000 (03:32 -0700)]
MIPS64: Improve loading constants for double and integer values.

This CL reduces the size of generated code for snapshot by 1.6%.

TEST=
BUG=

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

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

9 years agoFinalize sweeping in idle notification when all pages are swept.
hpayer [Mon, 30 Mar 2015 10:05:25 +0000 (03:05 -0700)]
Finalize sweeping in idle notification when all pages are swept.

A follow-up CL will implement incremental sweeping during idle time.

BUG=

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

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

9 years agoFix JSON parser Handle leak
erikcorry [Mon, 30 Mar 2015 09:55:17 +0000 (02:55 -0700)]
Fix JSON parser Handle leak

R=verwaest@chromium.org
BUG=v8:3976
LOG=y

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

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

9 years agoEnsure object literal element boilerplates aren't modified.
mvstanton [Mon, 30 Mar 2015 09:19:58 +0000 (02:19 -0700)]
Ensure object literal element boilerplates aren't modified.

A bug allows JSObject literals with elements to have the elements in the
boilerplate modified.

BUG=466993
LOG=N

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

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

9 years agoensure maybe results are checked in v8.h
dcarney [Mon, 30 Mar 2015 09:15:54 +0000 (02:15 -0700)]
ensure maybe results are checked in v8.h

also some drive-by handlescope fixes in api.cc

R=svenpanne@chromium.org

BUG=

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

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

9 years ago[turbofan] Add backend support for float32 operations.
bmeurer [Mon, 30 Mar 2015 07:33:46 +0000 (00:33 -0700)]
[turbofan] Add backend support for float32 operations.

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=dcarney@chromium.org

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

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

9 years agoAdded %_NewConsString intrinsic.
svenpanne [Mon, 30 Mar 2015 06:28:35 +0000 (23:28 -0700)]
Added %_NewConsString intrinsic.

No compiler support for now (BTW: %_NewString, doesn't have that,
either), inline allocation will come later. Hopefully the last
intrisic to add for a StringAddStub POC...

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

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

9 years agoReland^2 "Filter invalid slots out from the SlotsBuffer after marking."
jkummerow [Sat, 28 Mar 2015 18:04:03 +0000 (11:04 -0700)]
Reland^2 "Filter invalid slots out from the SlotsBuffer after marking."

And reland "Use a slot that is located on a heap page when removing
invalid entries from the SlotsBuffer."

This reverts commits de018fbda32e8ac57d8440e8fe6c3d3386bb9b11 and
d23a9f7a3e509bd405e1e4b0b851e463a4a736c2.

Reason for relanding: looking fine on Canary, let's get these fixes back in.

BUG=chromium:454297,chromium:470801
LOG=y
TBR=ishell@chromium.org

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

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

9 years agoPPC: Serializer: move to a subfolder and clean up includes.
michael_dawson [Fri, 27 Mar 2015 21:58:47 +0000 (14:58 -0700)]
PPC: Serializer: move to a subfolder and clean up includes.

Port 019096f82915b68a22807f683b878e42517a3cab

Original commit message:

R=mbrandy@us.ibm.com

BUG=

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

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

9 years ago[turbofan][arm64] Use immediates instead of MiscField for stack operations.
baptiste.afsa [Fri, 27 Mar 2015 21:57:41 +0000 (14:57 -0700)]
[turbofan][arm64] Use immediates instead of MiscField for stack operations.

This avoid to depend on MiscField to be big enough to hold the offset/size.
This patch also remove the Arm64PokePair which is no longer used.

R=bmeurer@chromium.org

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

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