Commit Graph

29019 Commits

Author SHA1 Message Date
mythria
e06d57b05d [Interpreter] Removes TestNotEqualsStrict bytecode from interpreter.
TestNotEqualsStrict is converted to a TestEqualsStrict and logical not
by the parser. Also, CompareIC does not have an implementation for
TestNotEqualsStrict. Hence, removing this bytecode.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34527}
2016-03-07 10:50:44 +00:00
mstarzinger
f53418b8ba [compiler] Move ClearExceptionFlag into Compiler.
The enum in question is (and should) no longer be used outside of the
compiler API and hence is being moved back into the Compiler class.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34526}
2016-03-07 10:17:36 +00:00
Ben L. Titzer
fc936302fd [wasm] One more fix to test-wasm-module-builder.js
TBR=machenbach@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34525}
2016-03-07 10:14:25 +00:00
Ben L. Titzer
f8e761c6fd [wasm] Fix stupid arguments.
TBR=machenbach@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34524}
2016-03-07 10:09:18 +00:00
machenbach
701e520b2b Reland of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #1 id:1 of https://codereview.chromium.org/1768963002/ )
Reason for revert:
Fix landed in head.

Original issue's description:
> Revert of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #1 id:1 of https://codereview.chromium.org/1774463002/ )
>
> Reason for revert:
> [Sheriff] Problem is not fixed:
> https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/8799
>
> Original issue's description:
> > [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript.
> >
> > This is a reland of https://codereview.chromium.org/1762203002/
> >
> > R=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org
> > BUG=
> >
> > Committed: https://crrev.com/aa5770805060a347c6b650634c736ba34ab61728
> > Cr-Commit-Position: refs/heads/master@{#34519}
>
> TBR=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org,titzer@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=

TBR=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org,titzer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34523}
2016-03-07 10:03:01 +00:00
machenbach
6242b3893d Revert of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #1 id:1 of https://codereview.chromium.org/1774463002/ )
Reason for revert:
[Sheriff] Problem is not fixed:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/8799

Original issue's description:
> [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript.
>
> This is a reland of https://codereview.chromium.org/1762203002/
>
> R=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org
> BUG=
>
> Committed: https://crrev.com/aa5770805060a347c6b650634c736ba34ab61728
> Cr-Commit-Position: refs/heads/master@{#34519}

TBR=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org,titzer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34522}
2016-03-07 10:01:23 +00:00
Ben L. Titzer
79ebb2124d [wasm] Fix arguments in test-wasm-module-builder.cc
Cr-Commit-Position: refs/heads/master@{#34521}
2016-03-07 09:59:28 +00:00
hablich
30164dc028 Revert of Use v8::kGCCallbackFlagCollectAllAvailableGarbage in Heap::CollectAllAvailableGarbage (patchset #1 id:1 of https://codereview.chromium.org/1762313002/ )
Reason for revert:
Breaks roll https://codereview.chromium.org/1768073002/ : https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/191035

Original issue's description:
> Use v8::kGCCallbackFlagCollectAllAvailableGarbage in Heap::CollectAllAvailableGarbage
>
> Now that the embedder side supports v8::kGCCallbackFlagCollectAllAvailableGarbage,
> this CL removes the old v8::kGCCallbackFlagForced from Heap::CollectAllAvailableGarbage.
>
> BUG=591463
> LOG=Y
>
> Committed: https://crrev.com/2436674c97f9e0bbc46a4bd75317e6470b4e720d
> Cr-Commit-Position: refs/heads/master@{#34517}

TBR=jochen@chromium.org,haraken@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=591463

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

Cr-Commit-Position: refs/heads/master@{#34520}
2016-03-07 09:48:16 +00:00
titzer
aa57708050 [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript.
This is a reland of https://codereview.chromium.org/1762203002/

R=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34519}
2016-03-07 09:46:37 +00:00
jarin
c534201e8d Remove the unused DEBUGGER bailout type.
Review URL: https://codereview.chromium.org/1772563002

Cr-Commit-Position: refs/heads/master@{#34518}
2016-03-07 08:19:27 +00:00
haraken
2436674c97 Use v8::kGCCallbackFlagCollectAllAvailableGarbage in Heap::CollectAllAvailableGarbage
Now that the embedder side supports v8::kGCCallbackFlagCollectAllAvailableGarbage,
this CL removes the old v8::kGCCallbackFlagForced from Heap::CollectAllAvailableGarbage.

BUG=591463
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34517}
2016-03-07 05:49:55 +00:00
zhengxing.li
5dbc0e30cb X87: [compiler] Introduce code stubs for string relational comparisons.
port 5912e0f014bd7b7d52cdc293145a912a4ecf2cf3(r34485)

  original commit message:
  Add StringLessThanStub, StringLessThanOrEqualStub, StringGreaterThanStub
  and StringGreaterThanOrEqualStub, based on the CodeStubAssembler, and
  hook them up with TurboFan (and Ignition). The stubs are currently
  essentially comparable with the StringCompareStub, which is now
  obsolete. We can later extend these stubs to cover more interesting
  cases (i.e. two byte sequential string comparisons, etc.).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34516}
2016-03-07 02:39:22 +00:00
neis
f24dffea4c Get rid of the different kinds of yield in the AST & full-codegen.
Now there is just one kind, corresponding to what was called "initial" before.
Replacement for "suspend": when the parser sees a yield in JS code, it
will turn it into a Yield node but wrap its argument in an iterator result
object.  Replacement for "final": the parser simply inserts a return statement
instead.

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

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

Cr-Commit-Position: refs/heads/master@{#34515}
2016-03-06 09:20:12 +00:00
adamk
6479b01aff Revert of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #2 id:20001 of https://codereview.chromium.org/1762203002/ )
Reason for revert:
New test test-wasm-module-builder fails on Linux - shared bot:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/8793

Original issue's description:
> [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript.
>
> R=binji@chromium.org,seththompson@chromium.org
> BUG=
>
> Committed: https://crrev.com/d130c6bdc6a424b068614592a0b79a34750af0fc
> Cr-Commit-Position: refs/heads/master@{#34513}

TBR=binji@chromium.org,seththompson@chromium.org,titzer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34514}
2016-03-05 02:21:20 +00:00
titzer
d130c6bdc6 [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript.
R=binji@chromium.org,seththompson@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34513}
2016-03-05 01:48:12 +00:00
jfb
cf11b8b337 NFC: use array init instead of memset
Dropped the change from my previous CL which bisecting Windows failure.

R= titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34512}
2016-03-05 00:02:26 +00:00
titzer
bcfa400306 [wasm] Remove TableSwitch and replace with br_table.
R=rossberg@chromium.org,binji@chromium.org,bradnelson@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34511}
2016-03-04 23:49:09 +00:00
mtrofin
38e2699ce1 Deeper validation of LiveRange structure, focused on UseIntervals.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34510}
2016-03-04 21:34:13 +00:00
mtrofin
a59605efda Validate that instruction selection maintains SSA form.
It benefits certain algorithms in register allocation to assume the input is
SSA - understanding that ResolvePhis in the regalloc pipeline lowers
phis, thus blurring the SSA invariant.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34509}
2016-03-04 20:34:08 +00:00
mbrandy
35bce027d2 PPC: [compiler] Introduce code stubs for string relational comparisons.
Port 5912e0f014

Original commit message:
    Add StringLessThanStub, StringLessThanOrEqualStub, StringGreaterThanStub
    and StringGreaterThanOrEqualStub, based on the CodeStubAssembler, and
    hook them up with TurboFan (and Ignition). The stubs are currently
    essentially comparable with the StringCompareStub, which is now
    obsolete. We can later extend these stubs to cover more interesting
    cases (i.e. two byte sequential string comparisons, etc.).

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34508}
2016-03-04 20:05:51 +00:00
mtrofin
b9bfe33ee9 [turbofan] Do not produce 2 ops for Int32AddWithOverflow.
It seems we produce both the usual add as well as the add with
overflow, when we should only generate the overflow variant. This
invalidates SSA assumptions in 2 tests (cctest/test-run-machops/RunInt32AddWithOverflowImm and
cctest/test-run-machops/RunInt64AddWithOverflowImm).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34507}
2016-03-04 20:00:44 +00:00
binji
af193e7534 [wasm] Update {i32,i64}.const to use signed leb128
Reland of https://codereview.chromium.org/1765673002

R=titzer@chromium.org
R=bradnelson@chromium.org
LOG=n
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34506}
2016-03-04 19:06:34 +00:00
mbrandy
9f8c21164c Additional fixes for external callback logging in profiler.
For platforms that use function descriptors (currently AIX and
PPC64BE), log an external callback's entrypoint address rather than
its function descriptor address.

R=jkummerow@chromium.org, michael_dawson@ca.ibm.com
TEST=cctest/test-cpu-profiler/JsNativeJsSample
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34505}
2016-03-04 18:57:30 +00:00
dgozman
9a1387f6a9 Introduce v8::MicrotasksScope.
This scope is used to control microtasks execution when MicrotasksPolicy::kScoped is engaged.

Attempt #2. First one was reverted due to chromium breakage: SetAutorunMicrotasks(false) was broken.

BUG=chromium:585949
LOG=Y
TEST=ScopedMicrotasks

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

Cr-Commit-Position: refs/heads/master@{#34504}
2016-03-04 17:42:17 +00:00
mstarzinger
970f1ae610 [compiler] Better description of compiler API.
This adds more comments to the V8 compiler API explaining the entry
methods within that API. It also establishes a separate method for OSR
compilation since {Compiler::GetOptimizedCode} is only used for OSR by
now.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34503}
2016-03-04 16:11:09 +00:00
machenbach
12b196490f Revert of Reland "[api] Don't go to javascript to construct API functions" (patchset #1 id:1 of https://codereview.chromium.org/1756973002/ )
Reason for revert:
[Sheriff] Breaks blink tests. Please fix upstream first.
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5125

Original issue's description:
> Reland "[api] Don't go to javascript to construct API functions"
>
> BUG=
> R=verwaest@chromium.org
>
> Committed: https://crrev.com/d5d4f0b80f585878130bffb40ff8e960646823d8
> Cr-Commit-Position: refs/heads/master@{#34496}

TBR=verwaest@chromium.org,bmeurer@chromium.org,jochen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34502}
2016-03-04 15:55:15 +00:00
jyan
5a9ecc129f S390: Initial impl of turbofan compiler
R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,joransiu@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34501}
2016-03-04 15:38:37 +00:00
verwaest
78e23b2b9e Avoid duplicate lookups when Get+Creating identity hashes
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34500}
2016-03-04 15:15:00 +00:00
fmeawad
e8dd6981ca Remove V8.External traces due to its high overhead
The Tracing split CL https://codereview.chromium.org/1707563002 mostly moved the location of
the TRACE call, but it added 2 very high frequency calls related to tracking V8.External.

In most benchmark and devices the added overhead is negligible except on N6 where it gets amplified.
This CL removes those 2 calls until more efficient tracing or a different technique is used.

BUG=588137
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34499}
2016-03-04 14:54:16 +00:00
neis
86c955fee0 Fix Array.prototype.sort on proxies.
BUG=chromium:591699
LOG=n
R=rossberg

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

Cr-Commit-Position: refs/heads/master@{#34498}
2016-03-04 14:43:52 +00:00
verwaest
433fd6c078 [runtime] Clean up symbol access in identity hash code
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34497}
2016-03-04 14:39:10 +00:00
jochen
d5d4f0b80f Reland "[api] Don't go to javascript to construct API functions"
BUG=
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34496}
2016-03-04 14:03:49 +00:00
verwaest
4e46149f5a [runtime] JSObject::GetKeys never returns the EnumCache, so we don't need to copy
BUG=148757
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34495}
2016-03-04 13:23:14 +00:00
haraken
10f6a9e62b Use a different GCCallbackFlag for GCs triggered by CollectAllAvailableGarbage
Blink wants to distinguish GCs triggered by CollectAllAvailableGarbage
from GCs forced by testing. This CL introduces a new flag to differentiate
the two GC types.

BUG=591463
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34494}
2016-03-04 13:06:25 +00:00
verwaest
6fecd1795d [LookupIterator] Avoid additional descriptor lookup in TransitionToAccessorProperty
BUG=588893, 325923
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34493}
2016-03-04 12:19:03 +00:00
verwaest
683223b4ba Reland "Speed up the LookupIterator"
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34492}
2016-03-04 11:53:24 +00:00
mvstanton
6783854603 Allow Crankshaft to tolerate certain do-expressions
Crankshaft can't track operand/environment changes between arbitrary statements.
We need that to fully support do-expressions. Instead, a subset is supported
by bailing out on break statements, continue statements, and if we've made an
OSR entry within a do-expression.

This partial support is a good idea because do-expressions are a useful tool
for desugaring during parsing.

BUG=
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34491}
2016-03-04 11:51:50 +00:00
ivica.bogosavljevic
96efefd748 MIPS: Fix [stubs] Introduce a dedicated FastNewObjectStub
Typo in implementation of FastNewObjectStub::Generate for MIPS32
cause unnecessary calls to slow Runtime::kNewObject

TEST=cctest/test-heap-profiler/TrackBumpPointerAllocations
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34490}
2016-03-04 10:54:46 +00:00
mstarzinger
d0b67b984e [compiler] Reduce number of entry points into compiler API.
This removes the entry point to the compiler API which allows requesting
lazily compiled full-codegen code. The aim is to eventually allow the
decisions of which baseline compiler should be used (e.g. Ignition or
full-codegen) be centralized within the compiler pipeline.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34489}
2016-03-04 10:45:40 +00:00
verwaest
7011ddd652 [LookupIterator] Add fast-path for reloading accessor property information
This is the equivalent of the fast-path in
ApplyTransitionToDataProperty.

BUG=588893, 325923
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34488}
2016-03-04 10:41:15 +00:00
ahaas
b1e345905a [wasm] Int64Lowering of FXXXConvertI64 instructions.
On 32-bit systems FXXXConvertI64 instructions are compiled to calls to
C functions. The TF node for the function call is already generated in
the wasm compiler, the lowering of the I64 parameter is done in the
Int64Lowering.

R=titzer@chromium.org, yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34487}
2016-03-04 09:51:49 +00:00
mstarzinger
64350d7f0d [fullcodegen] Factor out EmitLoadStoreICSlot from archs.
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34486}
2016-03-04 09:44:01 +00:00
bmeurer
5912e0f014 [compiler] Introduce code stubs for string relational comparisons.
Add StringLessThanStub, StringLessThanOrEqualStub, StringGreaterThanStub
and StringGreaterThanOrEqualStub, based on the CodeStubAssembler, and
hook them up with TurboFan (and Ignition). The stubs are currently
essentially comparable with the StringCompareStub, which is now
obsolete. We can later extend these stubs to cover more interesting
cases (i.e. two byte sequential string comparisons, etc.).

R=epertoso@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34485}
2016-03-04 09:39:30 +00:00
ishell
98c34e600d [crankshaft] Correctly propagate TailCallMode in case of inlining.
This CL also disables inlining of calls at tail position.

This is a preparational step. Tail call elimination itself is neither enabled nor supported yet.

BUG=v8:4698
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34484}
2016-03-04 09:18:36 +00:00
bmeurer
e075052976 [rutime] Simplify undetectable handling in Object::Equals.
According to https://www.w3.org/TR/html5/obsolete.html#dom-document-all
the undetectable bit (for document.all) only affects comparisons with
undefined and null. In particular comparisons with other values are not
affected, so we can actually simplify the handling of undetectable a
lot by only checking it when null or undefined might be involved (this
is actually in line with what the CompareIC does).

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34483}
2016-03-04 09:09:33 +00:00
machenbach
ec0f451b64 Revert of [wasm] Update {i32,i64}.const to use signed leb128 (patchset #3 id:40001 of https://codereview.chromium.org/1765673002/ )
Reason for revert:
[Sheriff] Breaks chromium win compile:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/3844/steps/compile/logs/stdio

Original issue's description:
> [wasm] Update {i32,i64}.const to use signed leb128
>
> R=titzer@chromium.org
> R=bradnelson@chromium.org
> LOG=n
>
> Committed: https://crrev.com/4b613a67e0aa4e073946f5f0dd95ee9366c8ca86
> Cr-Commit-Position: refs/heads/master@{#34471}

TBR=bradnelson@chromium.org,titzer@chromium.org,binji@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#34482}
2016-03-04 09:03:30 +00:00
Michael Achenbach
53e5563ff0 Whitespace change to test new builders.
Cr-Commit-Position: refs/heads/master@{#34481}
2016-03-04 08:41:23 +00:00
machenbach
043345a621 Revert of Introduce v8::MicrotasksScope. (patchset #6 id:100001 of https://codereview.chromium.org/1741893003/ )
Reason for revert:
[Sheriff] Speculative. Seems to break a bunch of webkit tests and causes timeouts:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5103

Please rebase upstream if intended.

Original issue's description:
> Introduce v8::MicrotasksScope.
>
> This scope is used to control microtasks execution when MicrotasksPolicy::kScoped is engaged.
>
> BUG=chromium:585949
> LOG=Y
> TEST=ScopedMicrotasks
>
> Committed: https://crrev.com/db77cec242dbdf8ee26da8232fa930270429f253
> Cr-Commit-Position: refs/heads/master@{#34472}

TBR=jochen@chromium.org,adamk@chromium.org,dgozman@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:585949

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

Cr-Commit-Position: refs/heads/master@{#34480}
2016-03-04 07:31:17 +00:00
zhengxing.li
1a73d99e92 X87: [compiler] Introduce StringEqualStub and StringNotEqualStub.
port 2689548e38 (r34459)

  original commit message:
  These new stubs perform exactly the same job as the string equality case
  for the CompareIC, but are platform independent and usable outside of
  fullcodegen and Crankshaft. We use them in the StrictEqualStub and the
  StrictNotEqualStub instead of falling back to the runtime immediately
  for String comparisons, and we also use them in TurboFan to perform
  String equality or inequality comparisons.

  These stubs currently handle only internalized and one byte strings w/o
  going to C++, but it should be easy to add support for more string cases
  later, i.e. utilizing already flattened cons strings or comparing two
  byte strings as well.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34479}
2016-03-04 07:25:25 +00:00
zhengxing.li
1736ad786f X87: [proxies] throw TypeError if is_callable Map bit is unset.
port 18b9c1ce70 (r34461)

  original commit message:
  Per ProxyCreate() (https://tc39.github.io/ecma262/#sec-proxycreate), a Proxy
  is only given a [[Call]] slot if the target has a [[Call]] slot as well. This
  was previously implemented correctly for [[Construct]], but not for [[Call]].

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34478}
2016-03-04 07:25:24 +00:00