Commit Graph

30713 Commits

Author SHA1 Message Date
neis
06c5127f5b [full-codegen] Introduce NestedStatement subclass for class literals.
This fixes a bug where returning from a class literal inside
a try-finally didn't restore the context properly when
entering the finally clause.

BUG=v8:4965
LOG=n

Review-Url: https://codereview.chromium.org/1952633002
Cr-Commit-Position: refs/heads/master@{#36021}
2016-05-04 12:42:04 +00:00
jochen
d3b50cbb5c Use Null as "no accessor" in AccessorPair instead of TheHole
R=verwaest@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/1949493004
Cr-Commit-Position: refs/heads/master@{#36020}
2016-05-04 12:37:41 +00:00
ulan
566c825d4a Fix MakeWeak and IsWeakRetainer for global handles with finalizers.
BUG=

Review-Url: https://codereview.chromium.org/1944813002
Cr-Commit-Position: refs/heads/master@{#36019}
2016-05-04 11:58:37 +00:00
ulan
d441100b70 Deprecate PersistentBase::MarkPartiallyDependent.
It is already effectively disabled by --scavenge_reclaim_unmodified_objects.

BUG=

Review-Url: https://codereview.chromium.org/1944793002
Cr-Commit-Position: refs/heads/master@{#36018}
2016-05-04 11:56:20 +00:00
balazs.kilvady
7551eca981 MIPS64: Fix [turbofan] Length and index2 are unsigned in CheckedLoad/CheckedStore.
Port b994ad45b0

Original commit message:
Also factor out test cases from test-run-machops.cc into test-run-load-store.cc

TEST=cctest/test-run-load-store/RunLoadStoreZeroExtend64, cctest/test-run-load-store/RunOobCheckedLoadT_pseudo7, cctest/test-run-load-store/RunOobCheckedLoad_pseudo7
BUG=chromium:599717
LOG=Y

Review-Url: https://codereview.chromium.org/1907363002
Cr-Commit-Position: refs/heads/master@{#36017}
2016-05-04 11:43:07 +00:00
bmeurer
e93f06ad87 [turbofan] Don't need any write barrier when storing maps from the root set.
Maps that are immortal immovable (i.e. the one pointer filler map) don't
need write barriers.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/1945023003
Cr-Commit-Position: refs/heads/master@{#36016}
2016-05-04 11:43:06 +00:00
ssanfilippo
4b3953df59 [Interpreter] Do not write Ignition dispatch counters to file by default.
Since Ignition dispatch counters have been made accessible from
JavaScript via getIgnitionDispatchCounters() in [1], writing
them to a file at the end of the execution does not seem the best
default anymore.

Following this commit, a file is written only if d8 is invoked
with --trace-ignition-dispatches-output-file.

[1] https://crrev.com/905becd13b8696e126255decf130fdb9e1d9aa30

LOG=N
BUG=v8:4899

Review-Url: https://codereview.chromium.org/1943923002
Cr-Commit-Position: refs/heads/master@{#36015}
2016-05-04 11:23:17 +00:00
mstarzinger
22b4db544c [compiler] Allow optimization of top-level eval code.
This allows for top-level eval code to be parsed properly before doing
optimization. It uses the same kind of re-parsing we already perform
when compiling code for debugging.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1884143003
Cr-Commit-Position: refs/heads/master@{#36014}
2016-05-04 10:59:07 +00:00
martyn.capewell
0322c20d17 [turbofan] ARM64: Use zr to store immediate zero
When storing an immediate integer or floating point zero, use the zero register
as the source value. This avoids the need to sometimes allocate a new register.

BUG=

Review-Url: https://codereview.chromium.org/1945783002
Cr-Commit-Position: refs/heads/master@{#36013}
2016-05-04 10:19:48 +00:00
ofrobots
9622696b5e [profiler] sampled allocations should be marked as independent
Sampling heap profiler keeps weak references. These should be marked
independent so that the weak callback can be dispatched on new space
collections.

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

Review-Url: https://codereview.chromium.org/1945193002
Cr-Commit-Position: refs/heads/master@{#36012}
2016-05-04 09:59:41 +00:00
mlippautz
07c72af0d7 [heap] Add regression test for chromium:598319
BUG=chromium:598319
LOG=N

Review-Url: https://codereview.chromium.org/1948573003
Cr-Commit-Position: refs/heads/master@{#36011}
2016-05-04 09:33:23 +00:00
mstarzinger
db1b27e8f0 [compiler] Remove dangerous language mode accessors.
The language mode is no longer constant accross a compilation unit. For
example the extends clause of a class literal can be in strict mode even
though the surrounding function is in sloppy mode. This makes any global
language mode predicate that reasons over an entire function inherently
dangerous. Instead one should use the appropriate predicate on scopes or
literals directly.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1949013002
Cr-Commit-Position: refs/heads/master@{#36010}
2016-05-04 09:28:54 +00:00
epertoso
a0543313db [turbofan] Take the immediate size in account when narrowing ia32/x64 word comparison operators.
Before this patch, we would emit a cmp or test with a memory operand only if both of the operands in the IR were loads. Now if either of them is a load and the other one is an immediate, we can use a memory operand if the load representation machine size is wide enough to represent the latter.

Review-Url: https://codereview.chromium.org/1948453002
Cr-Commit-Position: refs/heads/master@{#36009}
2016-05-04 09:22:04 +00:00
titzer
f82b33781d [wasm] Fix for 608630: allow proxies as FFI.
R=ahaas@chromium.org,bradnelson@chromium.org
BUG=chromium:608630
LOG=Y

Review-Url: https://codereview.chromium.org/1943313002
Cr-Commit-Position: refs/heads/master@{#36008}
2016-05-04 08:54:00 +00:00
mstarzinger
30f6dfb7aa [interpreter] Remove SharedFunctionInfo::IsInterpreted.
The predicate in question was a workaround for when the compilation
pipeline still kept bytecode and baseline code on the same shared
function info. It is not longer needed. In the long run we want a
predicate which can determine the exact tier for each function.

R=yangguo@chromium.org

Review-Url: https://codereview.chromium.org/1940913002
Cr-Commit-Position: refs/heads/master@{#36007}
2016-05-04 08:32:11 +00:00
bmeurer
c3218375c1 [turbofan] Implement %_NewObject using FastNewObjectStub.
The inline allocation sequence in the optimizing compilers cannot deal
well with funky types like JSRegExp, which have some magic fields in
addition to the inobject properties. In Crankshaft we already use the
FastNewObjectStub for %_NewObject in general, so fix TurboFan to the same.
Hopefully one day we can kill %_NewObject completely.

R=jarin@chromium.org
BUG=chromium:609029
LOG=n

Review-Url: https://codereview.chromium.org/1943403004
Cr-Commit-Position: refs/heads/master@{#36006}
2016-05-04 07:35:22 +00:00
jarin
b84b01e6d2 Ship Turbofan optimization for try-catch and try-finally.
Review-Url: https://codereview.chromium.org/1946883003
Cr-Commit-Position: refs/heads/master@{#36005}
2016-05-04 06:43:40 +00:00
bjaideep
df4125c579 PPC: [Atomics] Make Atomics.store a builtin using TF
Port 81cb841170

R=binji@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:4614
LOG=N

Review-Url: https://codereview.chromium.org/1951643002
Cr-Commit-Position: refs/heads/master@{#36004}
2016-05-04 04:49:00 +00:00
bjaideep
5840dd1fe0 PPC: [stubs] Convert InternalArrayNoArgumentsConstructor to a TurboFan stub
Port d2efbf2538

R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=chromium:608675
LOG=N

Review-Url: https://codereview.chromium.org/1952503002
Cr-Commit-Position: refs/heads/master@{#36003}
2016-05-04 04:46:43 +00:00
v8-autoroll
01eb1ecc69 Update V8 DEPS.
Rolling v8/build to bbe88f49be848cde9fcf4e1f470506cd560ec5f6

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/1944243002
Cr-Commit-Position: refs/heads/master@{#36002}
2016-05-04 03:22:29 +00:00
adamk
c8a342a582 Fix 'eval' in class extends clauses to be always-strict
Compiler backends get their language mode from the current
function, but should instead be deriving it from the current scope.
This allows proper handling of the always-strictness of class declarations
and expressions, and in particular the treatment of 'eval' calls in an
extends clause as a strict eval.

Also fix the parser's RecordEvalCall logic to only reach out to the
DeclarationScope in sloppy mode, which fixes the strange case of a
sloppy function thinking it contains a sloppy eval when in fact
it contains only a strict eval.

BUG=v8:4970
LOG=n

Review-Url: https://codereview.chromium.org/1931003003
Cr-Commit-Position: refs/heads/master@{#36001}
2016-05-03 22:36:29 +00:00
danno
d2efbf2538 [stubs] Convert InternalArrayNoArgumentsConstructor to a TurboFan stub
BUG=chromium:608675
LOG=N

Review-Url: https://codereview.chromium.org/1948433002
Cr-Commit-Position: refs/heads/master@{#36000}
2016-05-03 21:36:38 +00:00
mbrandy
e69bc6ed8b PPC: [turbofan] Properly initialize OutOfLineRecordWrite.
TEST=cctest/test-api/Regress470113 --ignition
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com
BUG=

Review-Url: https://codereview.chromium.org/1946733002
Cr-Commit-Position: refs/heads/master@{#35999}
2016-05-03 20:20:08 +00:00
binji
af677d7b34 [Atomics] Fix disassembly for ia32 xchg_b and xchg_w
https://codereview.chromium.org/1938213002 added xchg_b and xchg_w, but didn't
add it to the disassembler, and there were no tests that caught it.

BUG=v8:4614
TBR=bmeurer@chromium.org
LOG=n

Review-Url: https://codereview.chromium.org/1947673002
Cr-Commit-Position: refs/heads/master@{#35998}
2016-05-03 20:00:35 +00:00
cornacch
4930a16ed3 S390: [sim] Add icount and si <mnemonic> commands.
Typing icount at the sim debug prompt will print the current icount.
si <mnemonic> steps through instructions until an instruction with that
mnemonic is seen.
E.g. si brc will stop at the next brc instruction before executing it.

R=jyan@ca.ibm.com, joransiu@ca.ibm.com

Review-Url: https://codereview.chromium.org/1944913002
Cr-Commit-Position: refs/heads/master@{#35997}
2016-05-03 19:58:03 +00:00
mlippautz
d70d17613a [heap] Fix IterateBlackObject for fixed arrays in large object space
BUG=chromium:598319
LOG=N

Review-Url: https://codereview.chromium.org/1943733003
Cr-Commit-Position: refs/heads/master@{#35996}
2016-05-03 19:58:02 +00:00
Adam Klein
529e2a92ab Add v8.ignition_dispatches_table.json to .gitignore
R=rmcilroy@chromium.org
BUG=v8:4899
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35995}
2016-05-03 18:12:11 +00:00
bjaideep
b90ba31cd4 PPC: [stubs]: Implement ArrayNoArgumentConstructor as a TF stub
Port fa570e55b6

R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=
LOG=N

Review-Url: https://codereview.chromium.org/1950443002
Cr-Commit-Position: refs/heads/master@{#35994}
2016-05-03 17:54:35 +00:00
binji
81cb841170 [Atomics] Make Atomics.store a builtin using TF
BUG=v8:4614
R=bmeurer@chromium.org,jarin@chromium.org
LOG=n

Review-Url: https://codereview.chromium.org/1938213002
Cr-Commit-Position: refs/heads/master@{#35993}
2016-05-03 17:28:34 +00:00
titzer
d622c3a8bd [wasm] Disallow runtime calls in asm.js modules.
R=ahaas@chromium.org,bradnelson@chromium.org
BUG=chromium:592352
LOG=Y

Review-Url: https://codereview.chromium.org/1943373002
Cr-Commit-Position: refs/heads/master@{#35992}
2016-05-03 15:57:23 +00:00
cbruni
c736a45257 [keys] Moving property/keys related methods to KeyAccumulator in keys.cc
The Great Keys Migration:
This is part of a bigger effort to centralize optimizations for key collections
in a central place. This necessary to avoid the penalty that would be introduced
by fixing shadowed property iteration.

BUG=v8:4758, v8:705
LOG=N

Review-Url: https://codereview.chromium.org/1938413002
Cr-Commit-Position: refs/heads/master@{#35991}
2016-05-03 15:30:48 +00:00
martyn.capewell
21ce625b74 ARM64: disable ASM_LOCATION in release-sim builds
Disable ASM_LOCATION inline debug messages in release builds. This makes code
size measurements more representative when using the simulator.

BUG=

Review-Url: https://codereview.chromium.org/1919013005
Cr-Commit-Position: refs/heads/master@{#35990}
2016-05-03 15:19:50 +00:00
jkummerow
96a4d20ce2 Add missing initializer for FieldAccess' write_barrier_kind field
Omitting the initializer will give zero-initialization which is equivalent
to kNoWriteBarrier.

Review-Url: https://codereview.chromium.org/1942293002
Cr-Commit-Position: refs/heads/master@{#35989}
2016-05-03 14:27:48 +00:00
bjaideep
46b932f405 AIX:Proposal to use kSemaphoreAlignmentMask instead kPointerAlignmentMask
native_handle_ on AIX64 is of type int, and therefore fails
on an operation with a pointer type. Use
kSemaphoreAlignmentMask as sizeof(int) on AIX and
sizeof(pointer) otherwise.

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

BUG=v8:4767
LOG=N

Review-Url: https://codereview.chromium.org/1936003002
Cr-Commit-Position: refs/heads/master@{#35988}
2016-05-03 14:25:31 +00:00
mstarzinger
f71e166471 [turbofan] Make Pipeline an all-static class.
This moves all implementation internals of the Pipeline class into the
corresponding cc-file. Only the public API remains in the header and is
made up of static functions only.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1948443002
Cr-Commit-Position: refs/heads/master@{#35987}
2016-05-03 14:16:40 +00:00
mlippautz
2f796cdb0c Reland of [heap] Fix clearing slots for map and size during LeftTrimFixedArray (patchset #1 id:1 of https://codereview.chromium.org/1947473002/ )
Reason for revert:
Unrelated to waterfall failures.

Original issue's description:
> Revert of [heap] Fix clearing slots for map and size during LeftTrimFixedArray (patchset #1 id:1 of https://codereview.chromium.org/1943263002/ )
>
> Reason for revert:
> GC-stress failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3305/steps/Mjsunit/logs/array-copywithin
>
> Original issue's description:
> > [heap] Fix clearing slots for map and size during LeftTrimFixedArray
> >
> > BUG=chromium:598319
> > LOG=N
> >
> > Committed: https://crrev.com/5aa1d9c3cfde4389fb5a34e98a5dccbca9dc9f12
> > Cr-Commit-Position: refs/heads/master@{#35970}
>
> TBR=ulan@chromium.org,mlippautz@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:598319
>
> Committed: https://crrev.com/a4129bb45a3bb8cc68bb2e07ee1e0a734f04ce4b
> Cr-Commit-Position: refs/heads/master@{#35979}

TBR=ulan@chromium.org,yangguo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:598319

Review-Url: https://codereview.chromium.org/1947503002
Cr-Commit-Position: refs/heads/master@{#35986}
2016-05-03 14:14:21 +00:00
jarin
caf460b288 [turbofan] Better test for for-in/continue OSR problem.
The problem is actually not related to try-catch, so here is a test
without try-catch.

BUG=chromium:607493
LOG=n

Review-Url: https://codereview.chromium.org/1943883002
Cr-Commit-Position: refs/heads/master@{#35985}
2016-05-03 14:05:27 +00:00
mlippautz
95b8f3b0d3 Reland of [turbofan] Restore basic write barrier elimination. (patchset #1 id:1 of https://codereview.chromium.org/1943743003/ )
Reason for revert:
Jakob found the actual issue with the CL and is going to land the fix after relanding the WB elimination.

Original issue's description:
> Revert of [turbofan] Restore basic write barrier elimination. (patchset #2 id:20001 of https://codereview.chromium.org/1938993002/ )
>
> Reason for revert:
> Breaks WBs that should be there ;)
>
> https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3305
>
> Will open repro bug asap.
>
> Original issue's description:
> > [turbofan] Restore basic write barrier elimination.
> >
> > Restore the basic write barrier elimination that we used to run as part
> > of the simplified lowering phase (in ChangeLowering actually) before, by
> > moving the write barrier computation to SimplifiedLowering where we can
> > still look at types and consider the heap/isolate, and just update the
> > WriteBarrierKind in the FieldAccess/ElementAccess that we later use when
> > lowering to a machine Load/Store.
> >
> > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_tsan_rel
> > R=mstarzinger@chromium.org
> > BUG=v8:4969,chromium:608636
> > LOG=n
> >
> > Committed: https://crrev.com/7dcb6ad379fbacbc8bdc8e11a6e50d680ffa3f62
> > Cr-Commit-Position: refs/heads/master@{#35969}
>
> TBR=mstarzinger@chromium.org,bmeurer@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:4969,chromium:608636
>
> Committed: https://crrev.com/a782e93c617e728cded5ad878de11137a67891b7
> Cr-Commit-Position: refs/heads/master@{#35983}

TBR=mstarzinger@chromium.org,bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4969,chromium:608636

Review-Url: https://codereview.chromium.org/1943323002
Cr-Commit-Position: refs/heads/master@{#35984}
2016-05-03 13:56:30 +00:00
mlippautz
a782e93c61 Revert of [turbofan] Restore basic write barrier elimination. (patchset #2 id:20001 of https://codereview.chromium.org/1938993002/ )
Reason for revert:
Breaks WBs that should be there ;)

https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3305

Will open repro bug asap.

Original issue's description:
> [turbofan] Restore basic write barrier elimination.
>
> Restore the basic write barrier elimination that we used to run as part
> of the simplified lowering phase (in ChangeLowering actually) before, by
> moving the write barrier computation to SimplifiedLowering where we can
> still look at types and consider the heap/isolate, and just update the
> WriteBarrierKind in the FieldAccess/ElementAccess that we later use when
> lowering to a machine Load/Store.
>
> CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_tsan_rel
> R=mstarzinger@chromium.org
> BUG=v8:4969,chromium:608636
> LOG=n
>
> Committed: https://crrev.com/7dcb6ad379fbacbc8bdc8e11a6e50d680ffa3f62
> Cr-Commit-Position: refs/heads/master@{#35969}

TBR=mstarzinger@chromium.org,bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4969,chromium:608636

Review-Url: https://codereview.chromium.org/1943743003
Cr-Commit-Position: refs/heads/master@{#35983}
2016-05-03 13:45:30 +00:00
jarin
2da181b08b [turbofan] Fix OSR environment in for-in.
BUG=chromium:607493
LOG=n

Review-Url: https://codereview.chromium.org/1949433002
Cr-Commit-Position: refs/heads/master@{#35982}
2016-05-03 13:41:03 +00:00
mstarzinger
7c6ff54e60 [turbofan] Move some member methods off Pipeline.
R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1947463002
Cr-Commit-Position: refs/heads/master@{#35981}
2016-05-03 13:36:22 +00:00
yangguo
b80bfbfe64 [serializer] cache ICs only as code stubs with key.
Some uninitialized ICs used to be implemented as builtins. This is apparently
no longer the case.

R=bmeurer@chromium.org, mvstanton@chromium.org

Review-Url: https://codereview.chromium.org/1940283002
Cr-Commit-Position: refs/heads/master@{#35980}
2016-05-03 13:07:59 +00:00
yangguo
a4129bb45a Revert of [heap] Fix clearing slots for map and size during LeftTrimFixedArray (patchset #1 id:1 of https://codereview.chromium.org/1943263002/ )
Reason for revert:
GC-stress failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3305/steps/Mjsunit/logs/array-copywithin

Original issue's description:
> [heap] Fix clearing slots for map and size during LeftTrimFixedArray
>
> BUG=chromium:598319
> LOG=N
>
> Committed: https://crrev.com/5aa1d9c3cfde4389fb5a34e98a5dccbca9dc9f12
> Cr-Commit-Position: refs/heads/master@{#35970}

TBR=ulan@chromium.org,mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:598319

Review-Url: https://codereview.chromium.org/1947473002
Cr-Commit-Position: refs/heads/master@{#35979}
2016-05-03 13:05:46 +00:00
mstarzinger
3394e88964 [turbofan] Make Pipeline more private.
By now the Pipeline class can no longer be used to construct instances
from the outside. The constructor and all non-exposed helpers can be
made private.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1943243003
Cr-Commit-Position: refs/heads/master@{#35978}
2016-05-03 11:56:46 +00:00
yangguo
6df9379cb0 [API] remove (deprecated) hidden properties.
v8::Object::{Set,Get,Delete}HiddenValue have long been deprecated.
Please use v8::Object::{Set,Has,Get}Private instead.

R=jochen@chromium.org
LOG=Y

Review-Url: https://codereview.chromium.org/1942233002
Cr-Commit-Position: refs/heads/master@{#35977}
2016-05-03 11:48:00 +00:00
ahaas
b6db2255e6 [wasm] Mark all 64-bit instructions as supported on 32-bit platforms.
Additionally I removed some stale comments.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/1941323002
Cr-Commit-Position: refs/heads/master@{#35976}
2016-05-03 11:47:59 +00:00
mstarzinger
51a289b1d1 [turbofan] Fix --trace-trubo to generate complete JSON files.
R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1946523002
Cr-Commit-Position: refs/heads/master@{#35975}
2016-05-03 11:45:41 +00:00
titzer
98c2312995 [wasm] Fix bug with empty input to Wasm.instantiateModuleFromAsm()
R=ahaas@chromium.org,bradnelson@chromium.org
BUG=chromium:605488
LOG=Y

Review-Url: https://codereview.chromium.org/1940243002
Cr-Commit-Position: refs/heads/master@{#35974}
2016-05-03 11:15:24 +00:00
ahaas
18c380c396 [wasm] Split the wasm compilation into two phases for parallel compilation.
Graph construction, graph scheduling, instruction selection, and register
allocation has been moved to ExecuteCompilation, which will eventually be
executed on the background threads. Code generation remains in
FinishCompilation because it has to be executed by the main thread.

Additionally, WasmCompilationUnits are finished more eagerly in
wasm-module.cc to save memory.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/1942773002
Cr-Commit-Position: refs/heads/master@{#35973}
2016-05-03 11:13:09 +00:00
ishell
c89e6eb572 Add HasProperty code stub that tries simple lookups or jumps to runtime otherwise.
Code common with ObjectHasOwnProperty builtin was moved to CodeStubAssembler.

BUG=v8:2743
LOG=Y

Review-Url: https://codereview.chromium.org/1894953004
Cr-Commit-Position: refs/heads/master@{#35972}
2016-05-03 11:13:08 +00:00