Commit Graph

29937 Commits

Author SHA1 Message Date
fedor
1383d001ff tools: fix tickprocessor Cpp symbols on mac
Despite man page documentation:

    -f Display the symbol table of a dynamic library flat (as one
       file not separate modules).

`nm` on mac treats `-f` as a shorthand for `-format`. The `-f` argument
does not seem to be required, so just remove it completely.

(For `-format` documentation - see `nm --help` on mac).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#35445}
2016-04-13 12:19:58 +00:00
machenbach
29ae208362 Revert of [stubs] Introduce LeftShift, SignedRightShift and UnsignedRightShift stubs. (patchset #3 id:40001 of https://codereview.chromium.org/1881003002/ )
Reason for revert:
Needed to revert https://codereview.chromium.org/1617503003

Original issue's description:
> [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.
>
> Committed: https://crrev.com/599369d6b8e1a5ccdca857def06eebcbacf47dd4
> Cr-Commit-Position: refs/heads/master@{#35433}

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

Cr-Commit-Position: refs/heads/master@{#35444}
2016-04-13 12:12:31 +00:00
machenbach
2a5cce6580 Revert of [Atomics] code stubs for atomic operations (patchset #28 id:530001 of https://codereview.chromium.org/1617503003/ )
Reason for revert:
[Sheriff] Roll was reverted. Please fix unused methods, see:
https://codereview.chromium.org/1884913002/

https://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/5585/steps/compile%20%28with%20patch%29/logs/stdio

Original issue's description:
> [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
>
> Committed: https://crrev.com/10b5febe11b318cfef130abae343183ac862e60d
> Cr-Commit-Position: refs/heads/master@{#35427}

TBR=jarin@chromium.org,bmeurer@chromium.org,rodolph.perfetta@gmail.com,binji@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4614

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

Cr-Commit-Position: refs/heads/master@{#35443}
2016-04-13 11:59:28 +00:00
machenbach
0a9f1037b4 [release] Fix ambiguous tag names.
TBR=hablich@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#35442}
2016-04-13 11:55:25 +00:00
machenbach
5b5c360227 [release] Fix release script.
Fix after https://codereview.chromium.org/1887583002/

TBR=hablich@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#35441}
2016-04-13 11:25:30 +00:00
mvstanton
c2de961128 RESUBMITTING: Bogus assert prevented chromium roll.
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.

Adding notry due to crashed builders:
NOTRY=true
BUG=

Committed: https://crrev.com/9336f4cc6d25d39a128176679a70dbd13a6d946e
Cr-Commit-Position: refs/heads/master@{#35395}

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

Cr-Commit-Position: refs/heads/master@{#35440}
2016-04-13 10:55:39 +00:00
neis
9e99c92c22 [ast] Annotate some nodes with number of yields.
Annotate generator functions and loops therein with the number of contained
yields.  This information will eventually be used by the bytecode generator.

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

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

Cr-Commit-Position: refs/heads/master@{#35439}
2016-04-13 10:42:33 +00:00
ssanfilippo
b4df8dab45 [Interpreter] Add visualization tool for Ignition dispatch counters.
A new script, bytecode_dispatches_report.py reads the table produced
when FLAG_trace_ignition_dispatches is enabled and produces either a
report of top source-destination pairs, or a heatmap that can be
viewed interactively and saved to file.

BUG=v8:4899
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35438}
2016-04-13 10:14:26 +00:00
machenbach
6fe3387778 [release] Let release script fix missing tags.
Check if a previous run left an inconsistent state behind.
The check is right before trying to push a new state as then
all information is available, like commit message and tag
name.

This is still only a band-aid. If gnumbd is down for a
longer period, an unprocessed commit won't be found, but
the push attempt will still fail.

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

Cr-Commit-Position: refs/heads/master@{#35437}
2016-04-13 10:01:18 +00:00
ishell
a021c6af22 [field type tracking] Use breadth first traversal instead of recursion when updating field types.
... to avoid potential stack overflow when updating happens near the stack limit.

BUG=chromium:599440
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#35436}
2016-04-13 09:48:09 +00:00
clemensh
79b1ab61c2 Add a make target for generating Ctags file
This is very similar to the existing rule for a GTAGS file, and reuses
parts of it (the gtags.files file).

R=ahaas@chromium.org, mstarzinger@chromium.org, titzer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35435}
2016-04-13 09:21:06 +00:00
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