Commit Graph

30176 Commits

Author SHA1 Message Date
mlippautz
5b8a55393d [heap] Templatize markbit clearing during evacuation
R=hpayer@chromium.org
BUG=chromium:581412
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35434}
2016-04-13 08:57:37 +00:00
epertoso
599369d6b8 [stubs] Introduce LeftShift, SignedRightShift and UnsignedRightShift stubs.
Add the stubs for JavaScript's '<<', '>>' and '>>>' operators and lets Ignition make use of them in the respective bytecode handlers.

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

Cr-Commit-Position: refs/heads/master@{#35433}
2016-04-13 08:55:19 +00:00
mlippautz
18d92181fb [heap] Refactor Sweeper
- Additionally allow to commit late lists to an already started sweeper

BUG=chromium:581412
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35432}
2016-04-13 08:33:38 +00:00
richard_chamberlain
1ef7487b65 Improved diagnostic message for JS heap out of memory
This patch replaces the unused 'take_snapshot' parameter on FatalProcessOutOfMemory()
with a 'is_heap_oom' parameter. The parameter is set to true on error paths where the
JS heap is out of memory, as distinct from a malloc() failure i.e. process out of memory.
The message output to stderr or passed to embedding applications via FatalErrorCallback
is 'Javascript heap out of memory' rather than 'process out of memory'.

BUG=

R=jochen@chromium.org, verwaest@chromium.org, michael_dawson@ca.ibm.com

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

Cr-Commit-Position: refs/heads/master@{#35431}
2016-04-13 08:27:37 +00:00
neis
e298646be8 [generators] Simplify %CreateJSGeneratorObject
Instead of looking at the top JavaScriptFrame, take the needed information as
arguments.  This is in preparation of the new generators implementation.

R=adamk@chromium.org, bmeurer@chromium.org
BUG=v8:4907
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35430}
2016-04-13 08:18:18 +00:00
bmeurer
84c329e22e [turbofan] Use StringAddStub if either input to JSAdd is a string.
The StringAddStub can automatically convert arbitrary inputs according
to the semantics for the addition operator, if one side is already a
string.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35429}
2016-04-13 08:04:31 +00:00
v8-autoroll
57884362e4 Update V8 DEPS.
Rolling v8/buildtools to de013cf87971d0ab40596f2275a633432c908052

Rolling v8/tools/clang to 05a5cb33164e3c656a3375a1614ab350ca799215

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

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

Cr-Commit-Position: refs/heads/master@{#35428}
2016-04-13 03:18:55 +00:00
binji
10b5febe11 [Atomics] code stubs for atomic operations
* New atomic code stubs for x64, ia32, arm, arm64
* Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue
  to macro-assembler-ia32 (API based on x64 macro assembler)
* Remove runtime implementation of Atomics.load, the code stub should always be
  called instead
* Add new test to mjsunit atomics test; check that Smi values of different
  sizes are supported when possible, else fall back to HeapNumbers

These changes were needed to add another codestub:
* Bump kStubMajorKeyBits from 7 to 8
* Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12

BUG=v8:4614
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#35427}
2016-04-12 23:10:36 +00:00
jyan
949d322688 S390: [compiler] Add relocatable pointer constants for wasm memory references.
port 52148c41c9

Original Commit Message:
    Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates.

R=gdeepti@google.com, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com, mbrandy@us.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35426}
2016-04-12 20:22:57 +00:00
verwaest
a8b02cbce1 Properly create the store handler for lazy accessor pair setters
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35425}
2016-04-12 18:53:02 +00:00
mbrandy
ded75f6953 PPC: [compiler] Add relocatable pointer constants for wasm memory references.
Port eb5fe0df64

Original commit message:
    Add relocatable pointers for wasm memory references that need to
    be updated when wasm GrowMemory is used. Code generator changes to
    accept relocatable constants as immediates.

R=gdeepti@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35424}
2016-04-12 17:51:24 +00:00
jfb
9041833647 Fix printf formats
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL:

 - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h.
 - Uses it appropriately.
 - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done).
 - Fixes a bunch of incorrect formats.

Original CL: https://codereview.chromium.org/1869433004
Reverted in: https://codereview.chromium.org/1867383002
Reverted again in: https://codereview.chromium.org/1877823003

Reverts due to non-CQ bots:
  - First: v8_win_dbg, v8_win64_dbg, v8_mac_dbg
  - Second: gc mole (added to v8_linux_rel_ng for this patch)

R= jochen@chromium.org
TBR= ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35423}
2016-04-12 16:14:03 +00:00
jyan
d4377362f5 S390: Turn StoreIC::Megamorphic into a builtin, get rid of the non-monomorphic-cache
Port 79ff65075b

R=verwaest@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35422}
2016-04-12 15:27:54 +00:00
mythria
570c2a3237 [Interpreter] Disables OSR for interpreted functions when called with %OptimizeOSR.
When %OptimizeOSR is used with ignition flag, the runtime function tries to
compile for OSR on interpreted functions. This cl modifies
Runtime_OptimizeOsr function to return false for interpreted frames.

BUG=v8:4280,chromium:599002
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35421}
2016-04-12 15:25:35 +00:00
marija.antic
fdf19ffa5d MIPS64: Fix rotate instructions in simulator
Fix for drotr and drotr32 instructions in MIPS64 simulator.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#35420}
2016-04-12 14:49:50 +00:00
mstarzinger
a58045a989 [heap] Use safer predicate for API functions.
This uses the common predicate SharedFunctionInfo::IsApiFunction to
determine flushability. Just a minor cleanup, no change in semantics.

R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35419}
2016-04-12 14:49:49 +00:00
bmeurer
4aa19274cf [turbofan] Generalize AllocateStub to allow old space allocation.
Previously TurboFan always went to the runtime to allocate in old space,
which is pretty slow compare to a stub call.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35418}
2016-04-12 14:12:26 +00:00
jyan
b8f9e955bd S390: [generators] Store the resume mode in the generator object.
port 2e3296666b

Original Commit Message:
    ... instead of doing stack magic.  This is a cleanup in preparation for the new
    generators implementation.

R=bmeurer@chromium.org, neis@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35417}
2016-04-12 14:08:39 +00:00
mbrandy
3dab9ba7b9 PPC: [generators] Store the resume mode in the generator object.
Port 2e3296666b

Original commit message:
    ... instead of doing stack magic.  This is a cleanup in preparation for the new
    generators implementation.

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

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

Cr-Commit-Position: refs/heads/master@{#35416}
2016-04-12 14:02:45 +00:00
thakis
61c6cbb9e1 Port v8_optimized_debug to gn.
Makes browser_tests --gtest_filter=CrSettingsBrowserTest.CrSettingsTest
complete in a little over 8 seconds instead of timing out after 45s
on my box.  Without this patch, the test is much slower in gn builds
than in gyp builds.

v8/ part, goes with https://codereview.chromium.org/1880693003

BUG=chromium:586511
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35415}
2016-04-12 13:49:19 +00:00
mlippautz
72b00cab5c [heap] Add tracing for age_marks upon evacuation
R=ulan@chromium.org
BUG=chromium:581412
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35414}
2016-04-12 12:27:31 +00:00
ulan
177e04aacb [heap] Fix GC tracing order in FinalizeIncrementalMarking.
This ensures that GC tracer scope is nested in a trace event.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#35413}
2016-04-12 11:58:54 +00:00
hlopko
6d1f7282af Use EmbedderHeapTracer instead of object grouping when embedder sets the heap tracer.
When the embedder sets the heap tracer, V8, during marking, will collect all reachable wrappers, and then ask embedder to trace its heap. The embedder is expected to call PersistentBase::RegisterExternalReference with all wrappers reachable from the given ones. This fixed point iteration happens in MarkCompact::ProcessEphemeralMarking.

For more efficient object visiting during marking, we need a special JS_API_OBJECT_TYPE (in tandem with already existing JS_SPECIAL_API_OBJECT_TYPE) and corresponding visitor (JSApiObjectVisitor).

BUG=chromium:468240
LOG=no

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

Cr-Commit-Position: refs/heads/master@{#35412}
2016-04-12 10:33:27 +00:00
bmeurer
02ccb0417b [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan.
Make these builtins fast by default w/o relying on the
%_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal
with well in TurboFan (and ignition).

CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg,v8_linux_blink_rel
R=epertoso@chromium.org

Committed: https://crrev.com/43d3331d87f68ea7efa1b58f559f33f60e5dacfb
Cr-Commit-Position: refs/heads/master@{#35350}

Committed: https://crrev.com/253a16f690ab593a95249c34ded9df477ad9a54c
Cr-Commit-Position: refs/heads/master@{#35402}

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

Cr-Commit-Position: refs/heads/master@{#35411}
2016-04-12 10:31:26 +00:00
machenbach
e9b3e4ab9d Revert of [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan. (patchset #3 id:40001 of https://codereview.chromium.org/1868963002/ )
Reason for revert:
Please rebaseline:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5992

Original issue's description:
> [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan.
>
> Make these builtins fast by default w/o relying on the
> %_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal
> with well in TurboFan (and ignition).
>
> CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg
> R=epertoso@chromium.org
>
> Committed: https://crrev.com/43d3331d87f68ea7efa1b58f559f33f60e5dacfb
> Cr-Commit-Position: refs/heads/master@{#35350}
>
> Committed: https://crrev.com/253a16f690ab593a95249c34ded9df477ad9a54c
> Cr-Commit-Position: refs/heads/master@{#35402}

TBR=epertoso@chromium.org,bmeurer@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/1877263002

Cr-Commit-Position: refs/heads/master@{#35410}
2016-04-12 09:45:39 +00:00
jochen
b3d793e48a [api] Introduce ReturnValue::Get
This is a convenience API that an embedder can use to do final checks on
the return value. Note that this creates a new handle and thus defeats
the performance optimization done for ReturnValue - an embedder should
only use this in non-performance critical code paths.

BUG=
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35409}
2016-04-12 09:34:12 +00:00
machenbach
0f0d349411 [CQ] Activate remaining next-gen trybots.
BUG=535160
TBR=sergiyb@chromium.org, kjellander@chromium.org
NOTRY=true
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#35408}
2016-04-12 09:32:11 +00:00
gdeepti
52148c41c9 [compiler] Add relocatable pointer constants for wasm memory references.
Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates.

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

Committed: https://crrev.com/eb5fe0df64ec0add423b2a1f6fb62d5a33dce2a5
Cr-Commit-Position: refs/heads/master@{#35182}

Committed: https://crrev.com/297932a302ce0b73c3618ef9e4eba9d9d241f2b3
Cr-Commit-Position: refs/heads/master@{#35400}

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

Cr-Commit-Position: refs/heads/master@{#35407}
2016-04-12 09:07:00 +00:00
oth
fa2fbcfc2d [interpreter] Update bytecode expectations for ES6 instanceof.
Fixes updating golden files following instanceof change.

BUG=v8:4280
LOG=N
R=rmcilroy@chromium.org,ssanfilippo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35406}
2016-04-12 08:42:36 +00:00
mbrandy
71a55b8cd7 PPC: Turn StoreIC::Megamorphic into a builtin, get rid of the non-monomorphic-cache
Port 79ff65075b

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

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

Cr-Commit-Position: refs/heads/master@{#35405}
2016-04-12 08:33:11 +00:00
hablich
f021b7ca8f Revert of Visit the Optimized Code Map on first call rather than closure creation. (patchset #7 id:120001 of https://codereview.chromium.org/1670143002/ )
Reason for revert:
Blocks roll. See https://codereview.chromium.org/1877003002/ for detailed messages.

You should be able to repro this with Linux ASAN.

Original issue's description:
> Visit the Optimized Code Map on first call rather than closure creation.
>
> This is useful for escape analysis, and helps upcoming changes to
> type feedback gathering.
>
> BUG=
>
> Committed: https://crrev.com/9336f4cc6d25d39a128176679a70dbd13a6d946e
> Cr-Commit-Position: refs/heads/master@{#35395}

TBR=mstarzinger@chromium.org,bmeurer@chromium.org,mvstanton@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/1878063004

Cr-Commit-Position: refs/heads/master@{#35404}
2016-04-12 07:59:11 +00:00
ahaas
b748850786 [turbofan] Remove the CallDescriptor parameter in the constructor of Frame.
The parameter is not used at the moment, so I removed it.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35403}
2016-04-12 07:53:22 +00:00
bmeurer
253a16f690 [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan.
Make these builtins fast by default w/o relying on the
%_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal
with well in TurboFan (and ignition).

CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg
R=epertoso@chromium.org

Committed: https://crrev.com/43d3331d87f68ea7efa1b58f559f33f60e5dacfb
Cr-Commit-Position: refs/heads/master@{#35350}

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

Cr-Commit-Position: refs/heads/master@{#35402}
2016-04-12 07:51:20 +00:00
machenbach
3f69393a90 Revert of [compiler] Add relocatable pointer constants for wasm memory references. (patchset #15 id:320001 of https://codereview.chromium.org/1759383003/ )
Reason for revert:
[Sheriff] Breaks msan:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7842

Original issue's description:
> [compiler] Add relocatable pointer constants for wasm memory references.
>
> Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates.
>
> R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org
>
> Committed: https://crrev.com/eb5fe0df64ec0add423b2a1f6fb62d5a33dce2a5
> Cr-Commit-Position: refs/heads/master@{#35182}
>
> Committed: https://crrev.com/297932a302ce0b73c3618ef9e4eba9d9d241f2b3
> Cr-Commit-Position: refs/heads/master@{#35400}

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

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

Cr-Commit-Position: refs/heads/master@{#35401}
2016-04-12 07:49:19 +00:00
gdeepti
297932a302 [compiler] Add relocatable pointer constants for wasm memory references.
Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates.

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

Committed: https://crrev.com/eb5fe0df64ec0add423b2a1f6fb62d5a33dce2a5
Cr-Commit-Position: refs/heads/master@{#35182}

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

Cr-Commit-Position: refs/heads/master@{#35400}
2016-04-11 22:35:04 +00:00
jarin
4dfc6254fb Ship Turbofan try-catch.
Review URL: https://codereview.chromium.org/1856643002

Cr-Commit-Position: refs/heads/master@{#35399}
2016-04-11 20:42:36 +00:00
hablich
b88d048adf Reland of [compiler] Make feedback vector cope with flag changes. (patchset #1 id:1 of https://codereview.chromium.org/1876103002/ )
Reason for revert:
Did not fail on another roll including this CL ..

Original issue's description:
> Revert of [compiler] Make feedback vector cope with flag changes. (patchset #1 id:1 of https://codereview.chromium.org/1869693003/ )
>
> Reason for revert:
> Blocks current roll: https://codereview.chromium.org/1876713002/ according to bisect: https://codereview.chromium.org/1872353002/#ps80001
>
> Original issue's description:
> > [compiler] Make feedback vector cope with flag changes.
> >
> > This fixes corner cases where the layout of feedback vectors baked into
> > the snapshot is different from the expected layout, depending on some
> > runtime flags. We make sure the feedback vector is regenereated for
> > functions that are not compiled. Flag changes of this kind are only
> > allowed when code is not serialized.
> >
> > An alternative solution would be to not serialize the feedback vector
> > for such cases in the first place. That solution however would have a
> > higher overhead, as it would required the serializer to be able to
> > recognize feedback vectors while generating a snapshot.
> >
> > R=mvstanton@chromium.org
> > TEST=mjsunit/regress/regress-crbug-600995
> > BUG=chromium:600995
> > LOG=n
> >
> > Committed: https://crrev.com/460bff5fb6af2bd79e610f89afdf6da9dba3cf0c
> > Cr-Commit-Position: refs/heads/master@{#35339}
>
> TBR=mvstanton@chromium.org,mstarzinger@chromium.org
>
> BUG=chromium:600995
> LOG=N
> NOTRY=true
>
> Committed: https://crrev.com/78049e9c4837f053575d6c71e53ae12fec99f1aa
> Cr-Commit-Position: refs/heads/master@{#35392}

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

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

Cr-Commit-Position: refs/heads/master@{#35398}
2016-04-11 18:56:37 +00:00
jkummerow
58429beb7b Fix KeyedStore stub selection for STRING_WRAPPER_ELEMENTS
This logic mirrors what KeyedLoadICs are doing already.

BUG=chromium:602184
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35397}
2016-04-11 17:34:06 +00:00
machenbach
df826bf50f Revert of Fix printf formats (patchset #4 id:60001 of https://codereview.chromium.org/1877453002/ )
Reason for revert:
Breaks gc mole:
https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/9421

Original issue's description:
> Fix printf formats
>
> The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL:
>
>  - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h.
>  - Uses it appropriately.
>  - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done).
>  - Fixes a bunch of incorrect formats.
>
> Original CL: https://codereview.chromium.org/1869433004
> Reverted in: https://codereview.chromium.org/1867383002
>
> R= jochen@chromium.org
> TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org
>
> Committed: https://crrev.com/bf505329288e1b75bab0e6800371a9aac40fa5cc
> Cr-Commit-Position: refs/heads/master@{#35394}

TBR=jochen@chromium.org,ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,jfb@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/1877823003

Cr-Commit-Position: refs/heads/master@{#35396}
2016-04-11 17:30:18 +00:00
mvstanton
9336f4cc6d Visit the Optimized Code Map on first call rather than closure creation.
This is useful for escape analysis, and helps upcoming changes to
type feedback gathering.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#35395}
2016-04-11 17:28:20 +00:00
jfb
bf50532928 Fix printf formats
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL:

 - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h.
 - Uses it appropriately.
 - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done).
 - Fixes a bunch of incorrect formats.

Original CL: https://codereview.chromium.org/1869433004
Reverted in: https://codereview.chromium.org/1867383002

R= jochen@chromium.org
TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35394}
2016-04-11 16:27:54 +00:00
verwaest
39d121d1e3 Properly set up the code flags of the turbofan interceptor stubs.
Otherwise they can't be found in the megamorphic cache, leading to repeated misses.

BUG=chromium:596825
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35393}
2016-04-11 16:04:04 +00:00
hablich
78049e9c48 Revert of [compiler] Make feedback vector cope with flag changes. (patchset #1 id:1 of https://codereview.chromium.org/1869693003/ )
Reason for revert:
Blocks current roll: https://codereview.chromium.org/1876713002/ according to bisect: https://codereview.chromium.org/1872353002/#ps80001

Original issue's description:
> [compiler] Make feedback vector cope with flag changes.
>
> This fixes corner cases where the layout of feedback vectors baked into
> the snapshot is different from the expected layout, depending on some
> runtime flags. We make sure the feedback vector is regenereated for
> functions that are not compiled. Flag changes of this kind are only
> allowed when code is not serialized.
>
> An alternative solution would be to not serialize the feedback vector
> for such cases in the first place. That solution however would have a
> higher overhead, as it would required the serializer to be able to
> recognize feedback vectors while generating a snapshot.
>
> R=mvstanton@chromium.org
> TEST=mjsunit/regress/regress-crbug-600995
> BUG=chromium:600995
> LOG=n
>
> Committed: https://crrev.com/460bff5fb6af2bd79e610f89afdf6da9dba3cf0c
> Cr-Commit-Position: refs/heads/master@{#35339}

TBR=mvstanton@chromium.org,mstarzinger@chromium.org

BUG=chromium:600995
LOG=N
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#35392}
2016-04-11 15:36:30 +00:00
mstarzinger
8ce0a943e3 [compiler] Set expect property count right after parsing.
This moves the computation of the {expected_nof_properties} for a shared
function to where the object is actually being allocated. This is done
after parsing when the literal has been populated already. The expected
number of properties is not mutated after parsing.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35391}
2016-04-11 14:54:32 +00:00
machenbach
1c4b80b193 [CQ] Add more next-gen bots to CQ experiment
BUG=535160
TBR=sergiyb@chromium.org, kjellander@chromium.org
NOTRY=true
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#35390}
2016-04-11 14:33:54 +00:00
epertoso
c27c88b493 [stubs] Introduce ModulusStub.
Adds a ModulusStub for the modulo operator and lets TurboFan and Ignition make use of it.

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

Cr-Commit-Position: refs/heads/master@{#35389}
2016-04-11 13:54:52 +00:00
mstarzinger
e37e6fc766 [compiler] Make --hydrogen-filter only apply to Crankshaft.
This makes sure that --hydrogen-filter only filters for Crankshaft, not
for TurboFan compilations. For TurboFan there is --turbo-filter as a
separate flag already. There no longer is a single flag to filter both
compilers at the same time, one can still specify both flags however.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35388}
2016-04-11 13:54:51 +00:00
bmeurer
086bc49894 [turbofan] Remove support for --turbo-types.
We had exactly one test case for --noturbo-types, so it's likely that
the generic pipeline (without types) was already broken for quite some
time, plus no one expressed interest in maintaining it, plus it
complicates the JSGenericLowering integration. So decision is to kill
it.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35387}
2016-04-11 12:57:28 +00:00
verwaest
79ff65075b Turn StoreIC::Megamorphic into a builtin, get rid of the non-monomorphic-cache
BUG=

Committed: https://crrev.com/8764f87a3399ba433a4ce6f32161181c713af95c
Cr-Commit-Position: refs/heads/master@{#35376}

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

Cr-Commit-Position: refs/heads/master@{#35386}
2016-04-11 12:31:41 +00:00
ishell
26c480d13c [deoptimizer] Extend assert to also expect kTailCallerFunction as bottommost frame when accessing arguments for inlined function.
BUG=chromium:601617, v8:4698
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35385}
2016-04-11 12:20:37 +00:00