platform/upstream/v8.git
9 years agoRetain maps embedded in optimized code for several garbage collections.
ulan [Fri, 6 Mar 2015 12:36:16 +0000 (04:36 -0800)]
Retain maps embedded in optimized code for several garbage collections.

This keeps dying maps alive for FLAG_retain_maps_for_n_gc garbage collections
to increase chances of them being reused for new objects in future and
decrease number of deoptimizations.

BUG=v8:3664
LOG=N
TEST=cctest/test-heap/MapRetaining

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

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

9 years agoMerged INLINE_OPTIMIZED intrinsic type into INLINE.
svenpanne [Fri, 6 Mar 2015 11:01:43 +0000 (03:01 -0800)]
Merged INLINE_OPTIMIZED intrinsic type into INLINE.

BUG=v8:3947
LOG=n

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

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

9 years agoconvert more things to maybe
dcarney [Fri, 6 Mar 2015 10:28:02 +0000 (02:28 -0800)]
convert more things to maybe

BUG=v8:3929
LOG=y

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

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

9 years agoRevert of CpuProfiler: enable tests except four failing tests. (patchset #3 id:100001...
loislo [Fri, 6 Mar 2015 10:19:51 +0000 (02:19 -0800)]
Revert of CpuProfiler: enable tests except four failing tests. (patchset #3 id:100001 of https://codereview.chromium.org/976203003/)

Reason for revert:
Some tests still flaky

Original issue's description:
> CpuProfiler: enable tests except four failing tests.
>
> Four tests are failing due to a problem with no frame ranges.
>
> BUG=
> LOG=n
>
> Committed: https://crrev.com/2be160e726f2be6272b77e53fbd556aded6024f1
> Cr-Commit-Position: refs/heads/master@{#27035}

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

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

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

9 years ago[turbofan] Preserve pending message while inside finally-block.
mstarzinger [Fri, 6 Mar 2015 10:15:49 +0000 (02:15 -0800)]
[turbofan] Preserve pending message while inside finally-block.

This makes sure that any pending message is saved before entering
and restored after exiting a finally block. It also makes sure that
operand stacks are kept in sync to full-codegen.

R=bmeurer@chromium.org
TEST=cctest/test-run-jsexceptions/ThrowMessage

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

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

9 years agoCpuProfiler: enable tests except four failing tests.
loislo [Fri, 6 Mar 2015 10:01:40 +0000 (02:01 -0800)]
CpuProfiler: enable tests except four failing tests.

Four tests are failing due to a problem with no frame ranges.

BUG=
LOG=n

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

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

9 years agoDon't double-allocate mutable heap numbers in the json parser. This removes some...
verwaest [Fri, 6 Mar 2015 08:37:12 +0000 (00:37 -0800)]
Don't double-allocate mutable heap numbers in the json parser. This removes some stupidity when committing state.

BUG=

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

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

9 years agoSerializer: simplify external reference encoding.
yangguo [Fri, 6 Mar 2015 08:15:03 +0000 (00:15 -0800)]
Serializer: simplify external reference encoding.

External references are encoded as a tuple of type and ID. This
requires both the external reference encode and the decoder to
create a mapping between the encoding and the external reference
table index.

Instead, we simply use the external reference table index as
encoding.

We now also assume that there are no duplicate entries. Existing
duplicates have been removed in this change.

R=vogelheim@chromium.org

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

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

9 years agoAdd the code change for turbofan unsupported port.
chunyang.dai [Fri, 6 Mar 2015 06:15:41 +0000 (22:15 -0800)]
Add the code change for turbofan unsupported port.

   This is introduced by 8d2e45669f84076e95131503ea623f32483b3a7d (r26993)

original commit message:
   First shot at eager deoptimization in Turbofan.

BUG=

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

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

9 years agoOnly reference constant root list entries in the snapshot.
yangguo [Thu, 5 Mar 2015 21:24:12 +0000 (13:24 -0800)]
Only reference constant root list entries in the snapshot.

R=hpayer@chromium.org

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

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

9 years agoRevert of Simplify and compact transitions storage (patchset #4 id:80001 of https...
jkummerow [Thu, 5 Mar 2015 20:41:47 +0000 (12:41 -0800)]
Revert of Simplify and compact transitions storage (patchset #4 id:80001 of https://codereview.chromium.org/980573002/)

Reason for revert:
x64 test failures

Original issue's description:
> Simplify and compact transitions storage
>
> Simple transitions are now stored in a map's "transitions" field (as a WeakCell wrapping the target map); full TransitionArrays are used when that's not sufficient.
> To encapsulate these storage format implementation details, functions for manipulating and querying transitions have been refactored to be static functions on the TransitionArray class, and take maps as inputs.
>
> Committed: https://crrev.com/45fbef7f2252fce10634931cb103ccc1fc95ae6a
> Cr-Commit-Position: refs/heads/master@{#27029}

TBR=verwaest@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoSimplify and compact transitions storage
jkummerow [Thu, 5 Mar 2015 20:09:26 +0000 (12:09 -0800)]
Simplify and compact transitions storage

Simple transitions are now stored in a map's "transitions" field (as a WeakCell wrapping the target map); full TransitionArrays are used when that's not sufficient.
To encapsulate these storage format implementation details, functions for manipulating and querying transitions have been refactored to be static functions on the TransitionArray class, and take maps as inputs.

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

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

9 years agoMIPS: [turbofan] Support for %_DoubleHi, %_DoubleLo and %_ConstructDouble.
balazs.kilvady [Thu, 5 Mar 2015 19:28:12 +0000 (11:28 -0800)]
MIPS: [turbofan] Support for %_DoubleHi, %_DoubleLo and %_ConstructDouble.

Port 4436c2642a9b7adc9a1b68577ae9ca9a9a404c06

Original commit message:
This adds support for the double bits intrinsics to TurboFan, and is
a first step towards fast Math functions inlined into TurboFan code
or even compiled by themselves with TurboFan.

BUG=

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

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

9 years agoMIPS: [turbofan] Implement throwing exceptions into TurboFan code.
balazs.kilvady [Thu, 5 Mar 2015 19:26:49 +0000 (11:26 -0800)]
MIPS: [turbofan] Implement throwing exceptions into TurboFan code.

Port 1382879f29bd71c36aeda2421e867c4cdd232a0d

Original commit message:
This extends the stack unwinding logic to respect optimized frames
and perform a lookup in the handler table to find handlers. It also
contains fixes to the API call stubs to allow a stack walk while
promoting scheduled exceptions.

BUG=

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

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

9 years agoRemove promotion backup case and report OOM instead.
hpayer [Thu, 5 Mar 2015 18:38:30 +0000 (10:38 -0800)]
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=

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

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

9 years ago[V8] Use Function.name for stack frames in v8::StackTrace
kozyatinskiy [Thu, 5 Mar 2015 18:31:32 +0000 (10:31 -0800)]
[V8] Use Function.name for stack frames in v8::StackTrace

If function.name property has string type then stack frame will contain it otherwise DebugName from shared function info.

BUG=17356
LOG=Y
R=yurys@chromium.org

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

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

9 years agodisable some arm tests after r27020
Dan Carney [Thu, 5 Mar 2015 17:49:29 +0000 (18:49 +0100)]
disable some arm tests after r27020

TBR=yangguo@chromium.org

BUG=

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

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

9 years agoMIPS: Fix exception for assignment to uninitialised const.
balazs.kilvady [Thu, 5 Mar 2015 17:04:23 +0000 (09:04 -0800)]
MIPS: Fix exception for assignment to uninitialised const.

Port 2ecdf736cf0409b52832f78a4439ace855d6739b

BUG=

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

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

9 years agoDisable turbofan for serializer tests.
Yang Guo [Thu, 5 Mar 2015 14:46:39 +0000 (15:46 +0100)]
Disable turbofan for serializer tests.

TBR=dcarney@chromium.org

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

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

9 years agoFix progress check in auto-roller.
machenbach [Thu, 5 Mar 2015 14:04:59 +0000 (06:04 -0800)]
Fix progress check in auto-roller.

Using a git range check for checking progress is wrong when
the last rolled revision and the revision candidate are on
different branches. The range A..B will always show the
commits from the merge-base of A and B until B.

Better compare the tags of the last rolled revision and the
candidate. The candidate's version must be strictly greater
than what's in chromium.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py

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

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

9 years agoSerializer: correctly deal with internal references.
yangguo [Thu, 5 Mar 2015 13:46:31 +0000 (05:46 -0800)]
Serializer: correctly deal with internal references.

Internal references are absolute addresses into the instruction
stream. Turn them into relative addresses when serializing and
back when deserializing to keep them valid.

R=bmeurer@chromium.org

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

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

9 years agoUse faster IsDecimalDigit in the json parser
verwaest [Thu, 5 Mar 2015 13:44:17 +0000 (05:44 -0800)]
Use faster IsDecimalDigit in the json parser

BUG=

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

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

9 years agoreland rename UniquePersistent to Global
dcarney [Thu, 5 Mar 2015 13:26:20 +0000 (05:26 -0800)]
reland rename UniquePersistent to Global

BUG=

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

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

9 years agoAllow passing sourceMapUrl when compiling scripts
yurys [Thu, 5 Mar 2015 13:03:42 +0000 (05:03 -0800)]
Allow passing sourceMapUrl when compiling scripts

According to Source Map specification [1] source map url can be passed either as a magic comment at the end of script or as SourceMap http header. We already parse the former value and expose it on Script object. This change allows to unify the way we deal with source map urls received in http header by providing api for passing that url into the script being compiled.

source_map_url is intentionally not passed into CompilationCacheScript::Lookup. The cache is anyways disabled when debugger is on.

[1] https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit

LOG=Y
BUG=chromium:462572

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

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

9 years ago[turbofan] Implement throwing exceptions into TurboFan code.
mstarzinger [Thu, 5 Mar 2015 13:02:34 +0000 (05:02 -0800)]
[turbofan] Implement throwing exceptions into TurboFan code.

This extends the stack unwinding logic to respect optimized frames
and perform a lookup in the handler table to find handlers. It also
contains fixes to the API call stubs to allow a stack walk while
promoting scheduled exceptions.

R=jarin@chromium.org
TEST=cctest/test-run-jsexceptions

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

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

9 years agoFix host compilation with clang for android.
machenbach [Thu, 5 Mar 2015 12:54:27 +0000 (04:54 -0800)]
Fix host compilation with clang for android.

BUG=

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

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

9 years agoFix exception for assignment to uninitialised const
rossberg [Thu, 5 Mar 2015 12:43:55 +0000 (04:43 -0800)]
Fix exception for assignment to uninitialised const

R=dslomov@chromium.org, mstarzinger@chromium.org
BUG=

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

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

9 years agoconvert compile functions to use maybe
dcarney [Thu, 5 Mar 2015 12:26:07 +0000 (04:26 -0800)]
convert compile functions to use maybe

BUG=v8:3929
LOG=y

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

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

9 years agoRevert of rename UniquePersistent to Global (patchset #2 id:20001 of https://coderevi...
machenbach [Thu, 5 Mar 2015 12:10:23 +0000 (04:10 -0800)]
Revert of rename UniquePersistent to Global (patchset #2 id:20001 of https://codereview.chromium.org/980173003/)

Reason for revert:
breaks arm compile

Original issue's description:
> rename UniquePersistent to Global
>
> BUG=
>
> Committed: https://crrev.com/3f5ae16c62b031ad572f750d81ffc71c5d6d1f9b
> Cr-Commit-Position: refs/heads/master@{#27011}

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

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

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

9 years agorename UniquePersistent to Global
dcarney [Thu, 5 Mar 2015 11:40:35 +0000 (03:40 -0800)]
rename UniquePersistent to Global

BUG=

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

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

9 years agoMade the entries of the various *_FUNCTION_LISTs disjoint.
svenpanne [Thu, 5 Mar 2015 11:26:32 +0000 (03:26 -0800)]
Made the entries of the various *_FUNCTION_LISTs disjoint.

This way, every function in those lists has one C++ implementation
called Runtime_##name. The previous distinction was confusing.

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

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

9 years agoMake auto-roller roll recent release based on timestamp.
machenbach [Thu, 5 Mar 2015 10:50:00 +0000 (02:50 -0800)]
Make auto-roller roll recent release based on timestamp.

Before this change, out of two versions 4.2.13.1 and
4.2.14, the latter would have been considered the newest.
Now, the timestamp of the commit determines the age, which
allows to roll a patched version first. The auto-roller
will only roll forward (i.e. there needs to be a commit
range between the last roll and the new candidate).

Additionally, this CL does some cleanups:
- Use the sheriff detection mechanism in the auto-roller.
- Require the roll revision parameter in the chromium_roll
script to avoid redundancy. The auto_roll script determines
that revision automatically.
- Simplify the revision summary in the commit message. The
summary will now show last_roll..new_roll, which e.g.
includes the version change CL. It'll now show useful
information for cherry-picks, which it didn't before.
- Remove unused clusterfuzz check. That check is part of the
release process script.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
TEST=./tools/release/chromium_roll.py --dry-run --sheriff -c ~/tmp/chromium/src --last-roll 55b9049ea3978a589d8db2aa191d21222eef737f fc263505535a175c8efa18f4c787bd92a1d1ab3d --use-commit-queue -r me -a you

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

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

9 years agoCpuProfiler: simplify test.
loislo [Thu, 5 Mar 2015 10:37:56 +0000 (02:37 -0800)]
CpuProfiler: simplify test.

BUG=
LOG=n
TBR=yurys, svenpanne

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

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

9 years ago[ia32] Fix typo in no-SSE4.1 code.
Benedikt Meurer [Thu, 5 Mar 2015 09:45:51 +0000 (10:45 +0100)]
[ia32] Fix typo in no-SSE4.1 code.

TBR=dcarney@chromium.org

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

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

9 years ago[turbofan] Support for %_DoubleHi, %_DoubleLo and %_ConstructDouble.
bmeurer [Thu, 5 Mar 2015 09:22:26 +0000 (01:22 -0800)]
[turbofan] Support for %_DoubleHi, %_DoubleLo and %_ConstructDouble.

This adds support for the double bits intrinsics to TurboFan, and is
a first step towards fast Math functions inlined into TurboFan code
or even compiled by themselves with TurboFan.

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

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

9 years ago[turbofan] Enable DeoptFinallyReturn test that no longer fails.
mstarzinger [Thu, 5 Mar 2015 09:17:03 +0000 (01:17 -0800)]
[turbofan] Enable DeoptFinallyReturn test that no longer fails.

This was fixed by 064be2385ad3 and will no longer fail, even on the
no-snap ARM64 simulator.

R=bmeurer@chromium.org
TEST=cctest/test-run-jsexceptions/DeoptFinallyReturn

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

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

9 years agogive UniquePersistent full move semantics
dcarney [Thu, 5 Mar 2015 08:30:43 +0000 (00:30 -0800)]
give UniquePersistent full move semantics

BUG=v8:3669
LOG=Y

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

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

9 years agoX87: Refactor BreakLocationIterator
chunyang.dai [Thu, 5 Mar 2015 05:40:56 +0000 (21:40 -0800)]
X87: Refactor BreakLocationIterator

port 1a608493e55eacf5c7569e2b1213da42eb0e6207 (r26983)

original commit message:

   Refactor BreakLocationIterator.

   We now have BreakLocation::Iterator to iterate via RelocIterator, and
   create a BreakLocation when we are done iterating. The reloc info is
   stored in BreakLocation in a GC-safe way and instantiated on demand.

BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 5 Mar 2015 04:24:13 +0000 (20:24 -0800)]
Update V8 DEPS.

Rolling v8/build/gyp to 4a9b712d5cb4a5ba7a9950128a7219569caf7263

Rolling v8/buildtools to d4dd4f79f60bf019625b3a1436979b0a42c892df

Rolling v8/tools/clang to 5309ba9a6f1e56592860a623db451aef00ae941d

TBR=machenbach@chromium.org

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

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

9 years agoX87: Implement subclassing Arrays.
chunyang.dai [Thu, 5 Mar 2015 02:58:50 +0000 (18:58 -0800)]
X87: Implement subclassing Arrays.

port 1604bd46bf7fe0a8f7cd7780174030e26b93ab37 (r26972).

original commit message:

   Implement subclassing Arrays.

BUG=

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

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

9 years agoX87: Move stack unwinding logic into the runtime.
chunyang.dai [Thu, 5 Mar 2015 02:57:43 +0000 (18:57 -0800)]
X87: Move stack unwinding logic into the runtime.

port 4acbc93dbfe338adb217f4971e914f77afe504d9 (r26957)

original commit message:

   Move stack unwinding logic into the runtime.

BUG=

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

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

9 years agoUpdate V8 DEPS.
machenbach [Wed, 4 Mar 2015 19:45:30 +0000 (11:45 -0800)]
Update V8 DEPS.

Rolling v8/third_party/icu to eda9e75b1fa17f57ffa369ee3543a2301b68d0a9

TBR=jochen@chromium.org

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

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

9 years agoUse bit_cast for Runtime_Double{Hi,Lo}.
yangguo [Wed, 4 Mar 2015 18:55:01 +0000 (10:55 -0800)]
Use bit_cast for Runtime_Double{Hi,Lo}.

To avoid undefined behavior.

R=bmeurer@chromium.org

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

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

9 years agoSpeed up string scanning
verwaest [Wed, 4 Mar 2015 17:57:51 +0000 (09:57 -0800)]
Speed up string scanning

BUG=

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

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

9 years agoES6: Make function name configurable
arv [Wed, 4 Mar 2015 16:56:55 +0000 (08:56 -0800)]
ES6: Make function name configurable

Function name property is now standardized in ES6. It was a Mozilla proprietary
extension before. With ES6, the property was made configurable, so that it can
be used instead of another proprietary property, displayName.

This is a revert of revert https://chromium.googlesource.com/v8/v8.git/+/c791d8411225aa95518c880defd9a5b1ea243afc.

Last time this broke a Chrome browser test which has since been updated:

https://chromium.googlesource.com/chromium/src/+/5f75a3be4c9334aba627d6c5eb884adf965e1d78

BUG=v8:3333
LOG=N
R=mstarzinger@chromium.org,verwaest@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

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

9 years agoMIPS: ARM: Load undefined receiver sentinel without constant pool.
balazs.kilvady [Wed, 4 Mar 2015 16:55:43 +0000 (08:55 -0800)]
MIPS: ARM: Load undefined receiver sentinel without constant pool.

Port a820568b1ffbf76c3f80b9e00fc0b988b073dfaf

Each call to emit_32 uses 5 constant pool slots:
* the "emit_32" string
* undefined (the receiver)
* the argument (heap number)
* the load IC
* the call IC

This change cuts that down 20% to 4, by loading the undefined from the heap roots.

BUG=

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

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

9 years agoSerializer: fix false negative in hashmap lookups.
yangguo [Wed, 4 Mar 2015 15:36:02 +0000 (07:36 -0800)]
Serializer: fix false negative in hashmap lookups.

If we use HashMap::Lookup with insert=true, the returned entry may have
NULL as value. This could either mean that the value is 0, or that the
entry has just been inserted. This ambiguity can cause false negatives
in PartialCacheIndexMap::LookupOrInsert.

Also fix a TODO.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] First shot at eager deoptimization in Turbofan.
jarin [Wed, 4 Mar 2015 15:21:14 +0000 (07:21 -0800)]
[turbofan] First shot at eager deoptimization in Turbofan.

BUG=

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

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

9 years agoSerializer: still install experimental globals when creating a snapshot.
yangguo [Wed, 4 Mar 2015 15:01:55 +0000 (07:01 -0800)]
Serializer: still install experimental globals when creating a snapshot.

Experimental globals are simply flag values on the builtins object to
turn on/off harmony features. We still need to declare them even when
we don't turn on harmony features for the snapshot.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] Simplify and fix JS typed lowering type init.
jarin [Wed, 4 Mar 2015 14:55:23 +0000 (06:55 -0800)]
[turbofan] Simplify and fix JS typed lowering type init.

Removing and fixing some embarrassing stuff in js-typed-lowering.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoMIPS64: Fix 'Use Rotate*() functions instead of doing this manually.'
balazs.kilvady [Wed, 4 Mar 2015 14:34:00 +0000 (06:34 -0800)]
MIPS64: Fix 'Use Rotate*() functions instead of doing this manually.'

BUG=

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

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

9 years ago[turbofan] Fix exception being re-thrown after finally-block.
mstarzinger [Wed, 4 Mar 2015 14:28:33 +0000 (06:28 -0800)]
[turbofan] Fix exception being re-thrown after finally-block.

This makes sure that the implicit exception edges in the graph pass
the correct exception object and also fixes a bug in the dominance
relationship of the value entering the finally block and it's uses.

R=jarin@chromium.org
TEST=cctest/test-run-jsexceptions/FinallyBreak

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

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

9 years agoRevert of Remove default value for number of threads in Isolate::Init. (patchset...
yangguo [Wed, 4 Mar 2015 14:27:22 +0000 (06:27 -0800)]
Revert of Remove default value for number of threads in Isolate::Init. (patchset #1 id:1 of https://codereview.chromium.org/978773002/)

Reason for revert:
build failures.

Original issue's description:
> Remove default value for number of threads in Isolate::Init.
>
> Just fixing a TODO.
>
> R=jochen@chromium.org
>
> Committed: https://crrev.com/fbcebbc5bdfd8eed82d121faf07b536eb3142fb7
> Cr-Commit-Position: refs/heads/master@{#26987}

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

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

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

9 years agoRemove default value for number of threads in Isolate::Init.
yangguo [Wed, 4 Mar 2015 14:08:33 +0000 (06:08 -0800)]
Remove default value for number of threads in Isolate::Init.

Just fixing a TODO.

R=jochen@chromium.org

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

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

9 years agoRevert of Default-enable external startup data for Linux for stand-alone builds....
vogelheim [Wed, 4 Mar 2015 13:53:11 +0000 (05:53 -0800)]
Revert of Default-enable external startup data for Linux for stand-alone builds. (patchset #1 id:1 of https://codereview.chromium.org/956373002/)

Reason for revert:
The CL caused two issues:
- a weird build issue on V8 mips builder
- d8 cannot be invoked via PATH, since then it doesn't find its external snapshot.

The 2nd issue might even be WAI, but this needs more consideration.

Original issue's description:
> Default-enable external startup data for Linux for stand-alone builds.
>
> Notes:
> - Other platforms to follow later.
> - This follows Chromium practice, that mostly uses this feature these days.
> - The statically linked-in startup data will stay. So whoever prefers
>   the old way just needs to set the flag differently.
>
> Reland crrev.com/959693002, once crrev.com/960883003 is in.
>
> R=machenbach@chromium.org
> BUG=
>
> Committed: https://crrev.com/a0bdb103b676b4c7fa6b9f2e7149e716549c05d1
> Cr-Commit-Position: refs/heads/master@{#26980}

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

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

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

9 years agoRespect accumulative old generation memory limit in all spaces.
hpayer [Wed, 4 Mar 2015 13:43:23 +0000 (05:43 -0800)]
Respect accumulative old generation memory limit in all spaces.

Before the max_old_space_size was set for each space, which is not intuitive and not what we want. There is still a miss match between capacity and actual committed memory which should be cleaned up in a follow up cl.

BUG=

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

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

9 years ago[x86] Fix InstructionSelector::SupportedMachineOperatorFlags().
bmeurer [Wed, 4 Mar 2015 13:38:40 +0000 (05:38 -0800)]
[x86] Fix InstructionSelector::SupportedMachineOperatorFlags().

Word32 shifts are always safe on ia32 and x64, independent of whether
SSE4.1 is available.

R=dcarney@chromium.org

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

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

9 years agoRefactor BreakLocationIterator.
yangguo [Wed, 4 Mar 2015 13:15:07 +0000 (05:15 -0800)]
Refactor BreakLocationIterator.

We now have BreakLocation::Iterator to iterate via RelocIterator, and
create a BreakLocation when we are done iterating. The reloc info is
stored in BreakLocation in a GC-safe way and instantiated on demand.

R=ulan@chromium.org
BUG=v8:3924
LOG=N

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

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

9 years agoDisable experimental natives when creating a start-up snapshot.
yangguo [Wed, 4 Mar 2015 13:01:23 +0000 (05:01 -0800)]
Disable experimental natives when creating a start-up snapshot.

Re-installing experimental natives after deserialization causes failures if
said experimental native is already included in the snapshot. However, there
is no way to tell whether a certain harmony feature has been included.

Experimental natives may also be turned on/off on-demand, which a snapshot
that includes them would not support for all cases.

The simple solution for the meantime is to never include experimental natives
in the snapshot and initialize them after deserialization on-demand.

R=vogelheim@chromium.org

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

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

9 years agoconvert remaining object functions to maybes
dcarney [Wed, 4 Mar 2015 12:58:31 +0000 (04:58 -0800)]
convert remaining object functions to maybes

BUG=v8:3929
LOG=y

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

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

9 years agoDefault-enable external startup data for Linux for stand-alone builds.
vogelheim [Wed, 4 Mar 2015 12:21:52 +0000 (04:21 -0800)]
Default-enable external startup data for Linux for stand-alone builds.

Notes:
- Other platforms to follow later.
- This follows Chromium practice, that mostly uses this feature these days.
- The statically linked-in startup data will stay. So whoever prefers
  the old way just needs to set the flag differently.

Reland crrev.com/959693002, once crrev.com/960883003 is in.

R=machenbach@chromium.org
BUG=

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

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

9 years agoARM: Load undefined receiver sentinel without constant pool
erikcorry [Wed, 4 Mar 2015 11:02:21 +0000 (03:02 -0800)]
ARM: Load undefined receiver sentinel without constant pool

Each call to emit_32 uses 5 constant pool slots:
* the "emit_32" string
* undefined (the receiver)
* the argument (heap number)
* the load IC
* the call IC

This change cuts that down 20% to 4, by loading the undefined from the heap roots.

R=verwaest@chromium.org
BUG=

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

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

9 years agoFix Initialize & Dispose for external snapshot. Make sure v8::V8::(Initialize|Dispose...
vogelheim [Wed, 4 Mar 2015 10:37:47 +0000 (02:37 -0800)]
Fix Initialize & Dispose for external snapshot. Make sure v8::V8::(Initialize|Dispose) can be called in any order.

This is a follow-on to crrev.com/960883003, which fixed a memory leak in this code, but uncovered another, more subtle bug:

Previously, the code expected you would v8::V8::Initialize once, and v8::V8::Dispose once. The first bug was that in this case the holder_ variable would point to deallocated memory. The second bug was that once the snapshot was disposed, there was no way to get it back on a future Initialize. These are uncovered by the InitializeAndDisposeMultiple test case.

The fix is to keep memory to the raw snapshot and to then cleanly build & destroy the tables in Initialize & Dispose. Since sometimes setNativesBlob is called just after Initialize, that situation must be handled, too.

BUG=

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

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

9 years agoThe Global Load IC doesn't yet play well with --vector-ics.
mvstanton [Wed, 4 Mar 2015 09:41:12 +0000 (01:41 -0800)]
The Global Load IC doesn't yet play well with --vector-ics.

Until this is addressed, we can simply use the regular IC, as we do
in times of serialization.

R=verwaest@chromium.org

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

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

9 years agoWhen using ninja and clang, make sure diagnostics are colored.
thakis [Wed, 4 Mar 2015 05:56:03 +0000 (21:56 -0800)]
When using ninja and clang, make sure diagnostics are colored.

BUG=none
LOG=N

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

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

9 years agoUse Rotate*() functions instead of doing this manually.
thakis [Wed, 4 Mar 2015 05:53:05 +0000 (21:53 -0800)]
Use Rotate*() functions instead of doing this manually.

Shouldn't make a difference in practice, but it's a bit more readable and it
gets the case of a 0 shift correct without undefined behavior.

BUG=463436
LOG=N

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

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

9 years agoARM assembler: fix undefined behaviour in fits_shifter
hans [Wed, 4 Mar 2015 03:13:30 +0000 (19:13 -0800)]
ARM assembler: fix undefined behaviour in fits_shifter

Bit-shifts have undefined behaviour if the shift amount is greater
or equal to the width of the type.

In this case the code would do imm32 >> 32 when rot == 0.

A newer version of Clang unrolled the loop, optimized the first
iteration away, causing the test suite to fail with:

  #
  # Fatal error in ../src/arm/assembler-arm.cc, line 1212
  # Check failed: !rn.is(ip).
  #

as well as crashing when running Chromium tests on Android (at least
we think this was the cause, see the bug).

BUG=463436, 444089
LOG=Y

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

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

9 years agoRevert of [x86] Use better left operand heuristic for Float64Add and Float64Mul....
bmeurer [Tue, 3 Mar 2015 19:18:40 +0000 (11:18 -0800)]
Revert of [x86] Use better left operand heuristic for Float64Add and Float64Mul. (patchset #1 id:1 of https://codereview.chromium.org/958583003/)

Reason for revert:
Tanks on Atom and Haswell

Original issue's description:
> [x86] Use better left operand heuristic for Float64Add and Float64Mul.
>
> R=dcarney@chromium.org
>
> Committed: https://crrev.com/9da259fb1f4ecfefeb2cf7efbe449d8aa1904032
> Cr-Commit-Position: refs/heads/master@{#26849}

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

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 18:44:53 +0000 (10:44 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}

Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
Cr-Commit-Position: refs/heads/master@{#26963}

Committed: https://crrev.com/0705045b50a29cf1273e9e6b86fe6a627d8dcb43
Cr-Commit-Position: refs/heads/master@{#26966}

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

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

9 years ago[es6] Fix for-const loops
rossberg [Tue, 3 Mar 2015 18:34:30 +0000 (10:34 -0800)]
[es6] Fix for-const loops

R=dslomov@chromium.org
BUG=3983
LOG=Y

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

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

9 years ago[turbofan] Disable test-run-jsexceptions/DeoptFinallyReturn
mstarzinger [Tue, 3 Mar 2015 18:32:33 +0000 (10:32 -0800)]
[turbofan] Disable test-run-jsexceptions/DeoptFinallyReturn

Reason for disabling failure on ARM64 simulator in no-snap mode.

TBR=dslomov@chromium.org
TEST=cctest/test-run-jsexceptions/DeoptFinallyReturn
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoRevert of Implement subclassing Arrays. (patchset #8 id:130001 of https://codereview...
dslomov [Tue, 3 Mar 2015 17:48:05 +0000 (09:48 -0800)]
Revert of Implement subclassing Arrays. (patchset #8 id:130001 of https://codereview.chromium.org/975463002/)

Reason for revert:
Arm compilation again.

Aaaarrrrrghhhhhh!!!

Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}
>
> Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
> Cr-Commit-Position: refs/heads/master@{#26963}
>
> Committed: https://crrev.com/0705045b50a29cf1273e9e6b86fe6a627d8dcb43
> Cr-Commit-Position: refs/heads/master@{#26966}

TBR=arv@chromium.org,mvstanton@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years ago[turbofan] Add test coverage for deopt within try-catch.
mstarzinger [Tue, 3 Mar 2015 17:23:31 +0000 (09:23 -0800)]
[turbofan] Add test coverage for deopt within try-catch.

This just contains test, no fixes. Note that some of the tests are
still disabled because they either fail or we don't want ClusterFuzz
to pick up the flag yet.

R=jarin@chromium.org
TEST=cctest/test-run-jsexceptions/Deopt,mjsunit/compiler/try-deopt

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

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

9 years agoMIPS: Move stack unwinding logic into the runtime.
balazs.kilvady [Tue, 3 Mar 2015 17:15:15 +0000 (09:15 -0800)]
MIPS: Move stack unwinding logic into the runtime.

Port 4acbc93dbfe338adb217f4971e914f77afe504d9

BUG=

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 17:14:07 +0000 (09:14 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}

Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
Cr-Commit-Position: refs/heads/master@{#26963}

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

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

9 years agoRevert of Implement subclassing Arrays. (patchset #7 id:110001 of https://codereview...
dslomov [Tue, 3 Mar 2015 16:41:44 +0000 (08:41 -0800)]
Revert of Implement subclassing Arrays. (patchset #7 id:110001 of https://codereview.chromium.org/975463002/)

Reason for revert:
Arm buildre complains again (why v8_linux_arm_dbg does not complain?)

Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}
>
> Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
> Cr-Commit-Position: refs/heads/master@{#26963}

TBR=arv@chromium.org,mvstanton@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years agoUse locker when creating snapshot if necessary.
yangguo [Tue, 3 Mar 2015 16:14:04 +0000 (08:14 -0800)]
Use locker when creating snapshot if necessary.

R=vogelheim@chromium.org

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 16:10:27 +0000 (08:10 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}

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

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

9 years agoSpeed up identifier, keyword and smi parsing
verwaest [Tue, 3 Mar 2015 15:27:46 +0000 (07:27 -0800)]
Speed up identifier, keyword and smi parsing

BUG=

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

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

9 years agoRevert of Implement subclassing Arrays. (patchset #6 id:90001 of https://codereview...
mvstanton [Tue, 3 Mar 2015 14:56:00 +0000 (06:56 -0800)]
Revert of Implement subclassing Arrays. (patchset #6 id:90001 of https://codereview.chromium.org/975463002/)

Reason for revert:
ARM build failure...

Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}

TBR=arv@chromium.org,rossberg@chromium.org,dslomov@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 13:40:29 +0000 (05:40 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

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

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

9 years ago[turbofan] Support inlining of unguarded loops.
bmeurer [Tue, 3 Mar 2015 13:09:49 +0000 (05:09 -0800)]
[turbofan] Support inlining of unguarded loops.

Also allow inlining of native functions.

R=mstarzinger@chromium.org

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

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

9 years ago[turbofan] Take type into account when determining Word32 phi representation.
jarin [Tue, 3 Mar 2015 12:23:08 +0000 (04:23 -0800)]
[turbofan] Take type into account when determining Word32 phi representation.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoMove stack unwinding logic into the runtime.
mstarzinger [Tue, 3 Mar 2015 12:03:04 +0000 (04:03 -0800)]
Move stack unwinding logic into the runtime.

R=jarin@chromium.org

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

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

9 years agoSpeed up parsing of smis
verwaest [Tue, 3 Mar 2015 11:04:49 +0000 (03:04 -0800)]
Speed up parsing of smis

BUG=

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

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

9 years agoFix preparing log file name.
sejunho [Tue, 3 Mar 2015 11:03:41 +0000 (03:03 -0800)]
Fix preparing log file name.

Problem:
Excuting with flags as "--prof --logfile-per-isolate --logfile=/path/to/filename"
expected file name: /path/to/isolate-<isolate id>-filename
current result: isolate-<isolate id>-/path/to/filename

This patch makes the file name we expected.

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

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

9 years agoDon't apply pointer multipler to heap sizes on Android.
rmcilroy [Tue, 3 Mar 2015 10:18:57 +0000 (02:18 -0800)]
Don't apply pointer multipler to heap sizes on Android.

Android doesn't have swap space so if the heap goes over the physical memory
size the system will just kill us. Applying the Heap::kPointerMultipler
to heap size could cause the max heap size to be larger than physical memory.
Instead use the defaults which are based on actual physical memory configured
by Api::ConfigureDefaults().

BUG=432909
LOG=N

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

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

9 years agoCpuProfiler: do not calculate positions if it is not necessary (TryInline part).
loislo [Tue, 3 Mar 2015 08:42:27 +0000 (00:42 -0800)]
CpuProfiler: do not calculate positions if it is not necessary (TryInline part).

TryInline needed position only for the case when we track positions.
We can drop the position argument and use the current position from GraphBuilder.
The only problem that it doesn't match with the inline point.
The reason of that was the fact that builder had moved the position forward by
visiting arguments expressions.

I fixed this by restoring the current positon in HOptimizedGraphBuilderWithPositions::Visit*

BUG=452067
LOG=n

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

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

9 years agoconvert more object functions to return maybes
dcarney [Tue, 3 Mar 2015 07:14:28 +0000 (23:14 -0800)]
convert more object functions to return maybes

R=svenpanne@chromium.org

BUG=v8:3929
LOG=y

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

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

9 years agoContribution of PowerPC port (continuation of 422063005) - currency
michael_dawson [Tue, 3 Mar 2015 07:04:41 +0000 (23:04 -0800)]
Contribution of PowerPC port (continuation of 422063005) - currency

Contribution of PowerPC port (continuation of 422063005817143002,
866843003, and 901083004. This patch updates the ppc directories
to make them current with changes in common code, removes the
optimization to use the ool constant pool, and excludes tests that
don't pass under the ppc simulator given a 240s timeout.

Subsequent patches will cover:
   - remaining optimizations for PPC
   - remaining AIX changes not resolved by 4.8 compiler (4.8 is only recently available for AIX)
   - incremental updates required to ppc directories due to platform specific changes made
    in google repos while we complete the above steps.

modified:   src/compiler/ppc/code-generator-ppc.cc
modified:   src/ic/ppc/handler-compiler-ppc.cc
modified:   src/ppc/assembler-ppc-inl.h
modified:   src/ppc/assembler-ppc.cc
modified:   src/ppc/assembler-ppc.h
modified:   src/ppc/builtins-ppc.cc
modified:   src/ppc/code-stubs-ppc.cc
modified:   src/ppc/debug-ppc.cc
modified:   src/ppc/deoptimizer-ppc.cc
modified:   src/ppc/frames-ppc.cc
modified:   src/ppc/frames-ppc.h
modified:   src/ppc/full-codegen-ppc.cc
modified:   src/ppc/lithium-codegen-ppc.cc
modified:   src/ppc/lithium-ppc.cc
modified:   src/ppc/lithium-ppc.h
modified:   src/ppc/macro-assembler-ppc.cc
modified:   src/ppc/macro-assembler-ppc.h
modified:   test/cctest/cctest.status
modified:   test/mjsunit/mjsunit.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

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

9 years ago[x64] Use movaps instead of movsd for the move between double registers.
weiliang.lin [Tue, 3 Mar 2015 06:34:15 +0000 (22:34 -0800)]
[x64] Use movaps instead of movsd for the move between double registers.

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

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

9 years ago[turbofan] Fix ControlFlowOptimizer to also handle non-control nodes in the control...
bmeurer [Tue, 3 Mar 2015 06:11:37 +0000 (22:11 -0800)]
[turbofan] Fix ControlFlowOptimizer to also handle non-control nodes in the control chain.

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

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

9 years agoX87: Prefill with correct contextual load ICs in fullcodegen.
chunyang.dai [Tue, 3 Mar 2015 05:55:58 +0000 (21:55 -0800)]
X87: Prefill with correct contextual load ICs in fullcodegen.

port 7ee31a2348c67ee09664519818c8feb61c82fedf (r26941).

original commit message:

  Compute correct contextual load ICs in fullcodegen.

BUG=

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

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

9 years agoTweak memory management in the serializer.
yangguo [Mon, 2 Mar 2015 19:57:39 +0000 (11:57 -0800)]
Tweak memory management in the serializer.

R=vogelheim@chromium.org

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

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

9 years agoMIPS: Compute correct contextual load ICs in fullcodegen.
Balazs Kilvady [Mon, 2 Mar 2015 17:17:23 +0000 (18:17 +0100)]
MIPS: Compute correct contextual load ICs in fullcodegen.

Port 7ee31a2348c67ee09664519818c8feb61c82fedf

BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agofix webkit tests
Dan Carney [Mon, 2 Mar 2015 15:49:37 +0000 (16:49 +0100)]
fix webkit tests

r26943 just moved the problem around

TBR=svenpanne@chromium.org
BUG=

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

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

9 years ago[turbofan] Normalize union of representation and range to a range.
Jaroslav Sevcik [Mon, 2 Mar 2015 14:35:15 +0000 (15:35 +0100)]
[turbofan] Normalize union of representation and range to a range.

BUG=
R=bmeurer@chromium.org

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

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

9 years agocheck for null context on execution entry
Dan Carney [Mon, 2 Mar 2015 14:17:11 +0000 (15:17 +0100)]
check for null context on execution entry

blink is incorrectly calling api functions without a context.  we need this to find those places

R=svenpanne@chromium.org

BUG=v8:3929
LOG=y

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

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

9 years ago[turbofan] Strength reduction of Word32And with Int32Mul.
Benedikt Meurer [Mon, 2 Mar 2015 13:53:53 +0000 (14:53 +0100)]
[turbofan] Strength reduction of Word32And with Int32Mul.

- (x * (K << L)) & (-1 << L) => x * (K << L)
- ((K << L) * x) & (-1 << L) => x * (K << L)

R=dcarney@chromium.org

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

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

9 years agoCompute correct contextual load ICs in fullcodegen.
Toon Verwaest [Mon, 2 Mar 2015 13:36:38 +0000 (14:36 +0100)]
Compute correct contextual load ICs in fullcodegen.

BUG=
R=dcarney@chromium.org

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

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