Commit Graph

33824 Commits

Author SHA1 Message Date
petermarshall
ae71fbc31f Revert of [builtins] Move StringNormalize to a cpp builtin. (patchset #10 id:180001 of https://codereview.chromium.org/2315343002/ )
Reason for revert:
Tests fail when i18n is switched off, trybots do not run this configuration

Original issue's description:
> [builtins] Move StringNormalize to a cpp builtin.
>
> BUG=v8:5364
>
> Committed: https://crrev.com/7f84a6a2e7000bebba49354b4648346ff606ca34
> Cr-Commit-Position: refs/heads/master@{#39331}

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

Review-Url: https://codereview.chromium.org/2335553002
Cr-Commit-Position: refs/heads/master@{#39332}
2016-09-12 08:47:44 +00:00
petermarshall
7f84a6a2e7 [builtins] Move StringNormalize to a cpp builtin.
BUG=v8:5364

Review-Url: https://codereview.chromium.org/2315343002
Cr-Commit-Position: refs/heads/master@{#39331}
2016-09-12 08:31:58 +00:00
ahaas
6fff60187a Use GetCurrentStackPosition() to calculate the stack limit.
The use of the address of a local variable causes problems with asan,
see https://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng_triggered/builds/7803

R=jochen@chromium.org

Review-Url: https://codereview.chromium.org/2317253006
Cr-Commit-Position: refs/heads/master@{#39330}
2016-09-12 07:59:45 +00:00
gdeepti
2a4b5933b8 [wasm] GrowMemory should use array_buffer_allocator instead of realloc.
- Using realloc is still unsafe as the allocator, using array_buffer_allocator
  - Fixing tests to avoid overlapping stores, adding more tests

BUG=v8:5344

R=ahaas@chromium.org, mlippautz@chromium.org

Review-Url: https://codereview.chromium.org/2319983002
Cr-Commit-Position: refs/heads/master@{#39329}
2016-09-12 07:33:03 +00:00
bmeurer
a5ca412e5a [turbofan] Properly respect --max_inlining_levels with Ignition.
The logic to test whether we already reached --max_inlining_levels
when inlining into some optimized function only checked specifically
for FrameStateType::kJavaScriptFunction, and thereby didn't properly
account for FrameStateType::kInterpretedFunction, which is what we
see when we come in via the bytecode pipeline.

Review-Url: https://codereview.chromium.org/2329923002
Cr-Commit-Position: refs/heads/master@{#39328}
2016-09-12 07:28:41 +00:00
weiliang.lin
e151c66013 [x64] supplement SSE insturctions for SIMD.js
Both legacy and AVX versions

BUG=

Review-Url: https://codereview.chromium.org/2328843003
Cr-Commit-Position: refs/heads/master@{#39327}
2016-09-12 06:25:00 +00:00
nikolaos
bf85ca5315 [parser] Refactor of Parse*Statement*, part 5
This patch moves the following parsing methods to ParserBase:

- ParseDoExpression
- ParseDoWhileStatement
- ParseWhileStatement
- ParseThrowStatement

R=adamk@chromium.org, marja@chromium.org
BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2321103002
Cr-Commit-Position: refs/heads/master@{#39326}
2016-09-10 18:05:25 +00:00
nikolaos
40ba1db51f [parser] Refactor of Parse*Statement*, part 4
This patch moves the following parsing methods to ParserBase:

- ParseExpressionOrLabelledStatement
- ParseIfStatement
- ParseContinueStatement
- ParseBreakStatement
- ParseReturnStatement
- ParseWithStatement

R=adamk@chromium.org, marja@chromium.org
BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2323763002
Cr-Commit-Position: refs/heads/master@{#39325}
2016-09-10 17:05:38 +00:00
lpy
b4c9706e02 Add delegating initialize method for RuntimeCallTimerScope.
BUG=v8:5089

Review-Url: https://codereview.chromium.org/2329053002
Cr-Commit-Position: refs/heads/master@{#39324}
2016-09-10 04:58:03 +00:00
alph
c9516ded3c Add myself to src/profiler/OWNERS
NOTRY=true

Review-Url: https://codereview.chromium.org/2325993002
Cr-Commit-Position: refs/heads/master@{#39323}
2016-09-10 03:20:05 +00:00
kozyatinskiy
71781f31a2 [inspector] handle context destroyed after console.log
BUG=chromium:642496
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2323173004
Cr-Commit-Position: refs/heads/master@{#39322}
2016-09-10 01:49:01 +00:00
bjaideep
8d8cae5fe7 s390: Fixed error in calculating the power of 2 in Int64Mul
R=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/2321973006
Cr-Commit-Position: refs/heads/master@{#39321}
2016-09-09 22:36:58 +00:00
littledan
82bf7d758e Remove multiple usages of a VariableProxy from async/await code
R=adamk
BUG=v8:5167

Review-Url: https://codereview.chromium.org/2326963003
Cr-Commit-Position: refs/heads/master@{#39320}
2016-09-09 21:50:16 +00:00
kelvinjin
ec9bfc853b [Tracing] Minor bug fixes related to trace serialization
Escape sequences may now be written to a trace file (previously,
any string with a valid escapable character would fail a check).

Also, string properties are now surrounded with quotes.

BUG=v8:4561

Review-Url: https://codereview.chromium.org/2309943005
Cr-Commit-Position: refs/heads/master@{#39319}
2016-09-09 20:44:25 +00:00
eholk
0027218e1a [wasm] Trap handling: ProtectedLoad instruction
This CL introduces a ProtectedLoad instruction with is needed for out
of bounds trap handling. ProtectedLoad behaves like a regular load,
but it takes a context and source position parameter as well. These
are used by an out of line code fragment to generate code to throw a
JS exception for an out of bounds memory reference in Wasm.

These changes a cleaned up subset of
https://codereview.chromium.org/2148743004/

The rest of this feature will follow in future CLs. This includes a
table mapping memory instructions to landing pads as well as the
actual signal handler.

BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5277

Review-Url: https://codereview.chromium.org/2301833004
Cr-Commit-Position: refs/heads/master@{#39318}
2016-09-09 17:41:11 +00:00
adamk
ca7eaa30a1 [cleanup] Remove dead code for handling pre-desugaring spread implementation
The array spread operator is now handled by desugaring in the parser.

Review-Url: https://codereview.chromium.org/2324013002
Cr-Commit-Position: refs/heads/master@{#39317}
2016-09-09 17:32:33 +00:00
adamk
39c9158f8e [cleanup] Remove unused PreParser factory method
R=nikolaos@chromium.org

Review-Url: https://codereview.chromium.org/2316373006
Cr-Commit-Position: refs/heads/master@{#39316}
2016-09-09 17:11:55 +00:00
Alexander.Gilday2
f439fcab69 [stubs] Port ToName stub to TurboFan.
Migrate the platform ToName stub to TurboFan.

BUG=v8:5049

Review-Url: https://codereview.chromium.org/2302923002
Cr-Commit-Position: refs/heads/master@{#39315}
2016-09-09 16:23:48 +00:00
alph
bb0b8b2da3 [inspector] Drop V8_VERSION checks.
BUG=chromium:635948

Review-Url: https://codereview.chromium.org/2323273002
Cr-Commit-Position: refs/heads/master@{#39314}
2016-09-09 15:52:35 +00:00
alph
5465c25cea Add two CpuProfileNode API functions to allow thread safe access to the node.
GetFunctionNameStr and GetScriptResourceNameStr can be called from a thread
other than isolate VM thread unlike their conterparts GetFunctionName
and GetScriptResourceName.

BUG=406277

Review-Url: https://codereview.chromium.org/2328673003
Cr-Commit-Position: refs/heads/master@{#39313}
2016-09-09 15:51:02 +00:00
v8-autoroll
fcac706add Update V8 DEPS.
Rolling v8/build to 69b6a57635907f95b6302a657d250832e3f91a1f

Rolling v8/third_party/WebKit/Source/platform/inspector_protocol to bfc71ffbbdc7ca43723d655d8d4ae972e9e431da

Rolling v8/third_party/jinja2 to b61a2c009a579593a259c1b300e0ad02bf48fd78

Rolling v8/tools/clang to 7d0756c437d8c3dd68f912f6cc47907b0120fc05

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

Review-Url: https://codereview.chromium.org/2319123006
Cr-Commit-Position: refs/heads/master@{#39312}
2016-09-09 15:05:16 +00:00
machenbach
9a3b720395 [gn] Switch off gyp in runhooks by default
This will be synced with an announcement on v8-dev. This
doesn't affect directly calling gyp in our old Makefiles.

BUG=chromium:474921
NOTRY=true

Committed: https://crrev.com/94f813e8dcd4ed5a67cede8af0f949009beaa501
Review-Url: https://codereview.chromium.org/2327033002
Cr-Original-Commit-Position: refs/heads/master@{#39308}
Cr-Commit-Position: refs/heads/master@{#39311}
2016-09-09 14:23:14 +00:00
franzih
16f34a416e [api] Add documentation for IndexedPropertyCallbacks.
BUG=v8:5260

Review-Url: https://codereview.chromium.org/2322673004
Cr-Commit-Position: refs/heads/master@{#39310}
2016-09-09 14:11:34 +00:00
machenbach
2931e42d46 Revert of [gn] Switch off gyp in runhooks by default (patchset #2 id:20001 of https://codereview.chromium.org/2327033002/ )
Reason for revert:
Broke stuff - need to fix the argument

Original issue's description:
> [gn] Switch off gyp in runhooks by default
>
> This will be synced with an announcement on v8-dev. This
> doesn't affect directly calling gyp in our old Makefiles.
>
> BUG=chromium:474921
> NOTRY=true
>
> Committed: https://crrev.com/94f813e8dcd4ed5a67cede8af0f949009beaa501
> Cr-Commit-Position: refs/heads/master@{#39308}

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

Review-Url: https://codereview.chromium.org/2324173002
Cr-Commit-Position: refs/heads/master@{#39309}
2016-09-09 14:09:59 +00:00
machenbach
94f813e8dc [gn] Switch off gyp in runhooks by default
This will be synced with an announcement on v8-dev. This
doesn't affect directly calling gyp in our old Makefiles.

BUG=chromium:474921
NOTRY=true

Review-Url: https://codereview.chromium.org/2327033002
Cr-Commit-Position: refs/heads/master@{#39308}
2016-09-09 13:33:26 +00:00
ishell
9cf3333806 [stubs] Factor CSA::GrowElementsCapacity() out of existing code.
... and rename CheckAndGrowElementsCapacity() to TryGrowElementsCapacity().

Review-Url: https://codereview.chromium.org/2324863002
Cr-Commit-Position: refs/heads/master@{#39307}
2016-09-09 12:21:53 +00:00
mstarzinger
0681deb914 [interpreter] Fix destroyed new.target register use.
This fixes a corner-case where the bytecode was using the <new.target>
register directly without going through the local variable. The value
might be clobbered because the deoptimizer doesn't properly restore the
value. The label will causes bytecode pipeline to be flushed and hence
ensure {BytecodeRegisterOptimizer} doesn't reuse <new.target> anymore.

R=rmcilroy@chromium.org
TEST=mjsunit/regress/regress-crbug-645103
BUG=chromium:645103

Review-Url: https://codereview.chromium.org/2325133002
Cr-Commit-Position: refs/heads/master@{#39306}
2016-09-09 12:20:20 +00:00
ulan
6c2a217ef7 Revert of [heap] Fix a formatting bug in --trace-incremental-marking. (patchset #2 id:20001 of https://codereview.chromium.org/2324623004/ )
Reason for revert:
Revert to check if this is causing perf regressions in crbug.com/645411

Original issue's description:
> [heap] Fix a formatting bug in --trace-incremental-marking.
>
> BUG=
>
> Committed: https://crrev.com/212624b7570cd1c1cfad7cf958203b05af961637
> Cr-Commit-Position: refs/heads/master@{#39278}

TBR=mlippautz@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/2323293002
Cr-Commit-Position: refs/heads/master@{#39305}
2016-09-09 11:35:52 +00:00
marja
e34dfe04ea Include only stuff you need, part 9: variables.h
TBR=bmeurer@chromium.org
BUG=v8:5294

Review-Url: https://codereview.chromium.org/2324783002
Cr-Commit-Position: refs/heads/master@{#39304}
2016-09-09 10:55:50 +00:00
machenbach
4266d33e76 [gn] Switch noi18n bots to gn
BUG=chromium:474921
NOTRY=true
TBR=jochen@chromium.org

Review-Url: https://codereview.chromium.org/2314423005
Cr-Commit-Position: refs/heads/master@{#39303}
2016-09-09 09:16:00 +00:00
bmeurer
7d4ab7d43e [turbofan] Initial support for polymorphic inlining.
For call sites where the target is not a known constant, but potentially
a list of known constants (i.e. a Phi with all HeapConstant inputs), we
still record the call site as a potential candidate for inlining.
In case the heuristic picks that candidate for inlining, we
expand the call site to a dispatched call site and invoke the
actual inlining logic for all the nested call sites.

Like Crankshaft, we currently allow up to 4 targets for polymorphic inlining,
although we might want to refine that later.

This approach is different from what Crankshaft does in
that we don't duplicate the evaluation of the parameters per polymorphic
case. Instead we first perform the load of the target (which usually
dispatches based on the receiver map), then we evaluate all the
parameters, and then we dispatch again based on the known targets. This
might generate better or worse code compared to what Crankshaft does,
and for the cases where we generate worse code (i.e. because we have
only trivial parameters or no parameters at all), we might want to
investigate optimizing away the double dispatch in the
future.

R=mvstanton@chromium.org
BUG=v8:5267,v8:5365

Review-Url: https://codereview.chromium.org/2325943002
Cr-Commit-Position: refs/heads/master@{#39302}
2016-09-09 08:44:21 +00:00
machenbach
bcc3cb2ea4 [test] Fix the noi18n trybot
This is a work-around as v8_enable_i18n_support=false does
currently not imply icu_use_data_file_flag=false. The
swarming isolator then tries to find the data file also
in builds without ICU.

Making the implication is non-trivial as icu_use_data_file_flag lives
in ICU and v8_enable_i18n_support lives in V8.

BUG=chromium:474921
NOTRY=true
TBR=petermarshall@chromium.org, vogelheim@chromium.org, jochen@chromium.org

Review-Url: https://codereview.chromium.org/2321563007
Cr-Commit-Position: refs/heads/master@{#39301}
2016-09-09 08:23:38 +00:00
marja
751f8e99c9 Move ParseHoistableDeclaration to ParserBase.
BUG=

Review-Url: https://codereview.chromium.org/2311903003
Cr-Commit-Position: refs/heads/master@{#39300}
2016-09-09 07:58:48 +00:00
zhengxing.li
1d2574afe6 X87: [Interpreter] Collect allocation site feedback in call bytecode handler.
port 9a31162d9d3137d09063d6040865655b2e386384(r39283)

  original commit message:
  Adds support to collect allocation site feedback for Array function calls
  to the call bytecode handler.

BUG=

Review-Url: https://codereview.chromium.org/2319123004
Cr-Commit-Position: refs/heads/master@{#39299}
2016-09-09 06:36:13 +00:00
bjaideep
0565291784 PPC/s390: [Interpreter] Collect allocation site feedback in call bytecode handler.
Port 9a31162d9d

Original commit message:

    Adds support to collect allocation site feedback for Array function calls
    to the call bytecode handler.

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

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2319913004
Cr-Commit-Position: refs/heads/master@{#39298}
2016-09-08 21:38:55 +00:00
bgeron
5a4cbaedb1 [turbolizer] Give the HTML file a title, for bookmarks and tab labels.
BUG=

Review-Url: https://codereview.chromium.org/2293483002
Cr-Commit-Position: refs/heads/master@{#39297}
2016-09-08 21:29:01 +00:00
jbroman
4c0ca533e7 Add a missing cast to ValueDeserializer::ReadVarint.
Without this cast, the integer type isn't promoted before being shifted, and so
for types larger than sizeof(int) there is data loss. This will become an issue
once the host begins using this helper to send 64-bit integers.

BUG=chromium:148757

Review-Url: https://codereview.chromium.org/2326653002
Cr-Commit-Position: refs/heads/master@{#39296}
2016-09-08 19:06:09 +00:00
lpy
252b84b0ed [Tracing] Fix runtime call stats tracing for GC.
This patch adds runtime call stats tracing for GC correctly, makes
--runtime-call-stats and tracing mutually exclusive with tracing taking
precedence if both modes are on, and uses only one runtime call stats in
counter.

BUG=v8:5089

Review-Url: https://codereview.chromium.org/2313193002
Cr-Commit-Position: refs/heads/master@{#39295}
2016-09-08 18:57:23 +00:00
adamk
e4273007b6 Properly handle holes following spreads in array literals
Before this change, the spread desugaring would naively call
`%AppendElement($R, the_hole)` and in some cases $R would have
a non-holey elements kind, putting the array into the bad state
of exposing holes to author code.

This patch avoids calling %AppendElement with a hole, instead
simply incrementing $R.length when it sees a hole in the literal
(this is safe because $R is known to be an Array). The existing
logic for elements transitions takes care of giving the array a
holey ElementsKind.

BUG=chromium:644215

Review-Url: https://codereview.chromium.org/2321533003
Cr-Commit-Position: refs/heads/master@{#39294}
2016-09-08 18:50:41 +00:00
cbruni
cd86053fac [printing] Fix DCHECK failure when printing FAST_HOLEY_DOUBLE_ELEMENTS
This CL fixes %DebugPrint for FAST_HOLEY_DOUBLE_ELEMENTS and now properly
distinguishes TheHole and NaN values.

BUG=

Review-Url: https://codereview.chromium.org/2294913004
Cr-Commit-Position: refs/heads/master@{#39293}
2016-09-08 18:31:42 +00:00
cbruni
6faf6c1545 Revert of [runtime] temporarily transform IsContext check from DHECK to CHECK (patchset #2 id:20001 of https://codereview.chromium.org/2164633002/ )
Reason for revert:
There have been no more occurrences of this on dev / beta so we can convert the CHECK back to DCHECK.

Original issue's description:
> [runtime] temporarily transform IsContext check from DCHECK to CHECK
>
> We are enabling this trial on canary to see if we can flush out some missing
> context restores.
>
> BUG=
>
> Committed: https://crrev.com/ec94ad400dc257af396efa3b1899bc3168347d82
> Cr-Commit-Position: refs/heads/master@{#37875}

TBR=jkummerow@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=

Review-Url: https://codereview.chromium.org/2303543003
Cr-Commit-Position: refs/heads/master@{#39292}
2016-09-08 18:28:22 +00:00
caitp
646f1f0a4a [JSON] call replacer function with correct holder in JSON.stringify
BUG=v8:5363
R=adamk@chromium.org, littledan@chromium.org, cbruni@chromium.org

Review-Url: https://codereview.chromium.org/2328523002
Cr-Commit-Position: refs/heads/master@{#39291}
2016-09-08 17:57:56 +00:00
epertoso
f94f2ae20e [turbofan] Introduces another DCHECK in the register allocator.
The previous DCHECK (removed in issue 2316033002) was checking that the new interval strictly overlapped with the first interval.

BUG=

Review-Url: https://codereview.chromium.org/2321113002
Cr-Commit-Position: refs/heads/master@{#39290}
2016-09-08 17:19:43 +00:00
ishell
aec5a80bb7 [stubs] CSA::CopyFixedArrayElements() is now able to convert elements' kind while copying.
Drive-by-fix: the old code never triggered write barrier.
Review-Url: https://codereview.chromium.org/2321993002
Cr-Commit-Position: refs/heads/master@{#39289}
2016-09-08 17:17:35 +00:00
aseemgarg
7b3875d107 [wasm] fix Simd ExtractLane to take immediate instead of param
BUG=v8:4124
TEST:test-run-wasm-simd
R=titzer@chromium.org,bradnelson@chromium.org,gdeepti@chromium.org

Review-Url: https://codereview.chromium.org/2300753005
Cr-Commit-Position: refs/heads/master@{#39288}
2016-09-08 17:16:03 +00:00
ofrobots
20d427a1e2 Revert of Use -fno-delete-null-pointer-checks with gcc builds (patchset #2 id:20001 of https://codereview.chromium.org/2310513002/ )
Reason for revert:
Fails on MIPS: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/3653

Original issue's description:
> Use -fno-delete-null-pointer-checks with gcc builds
>
> R=bmeurer@chromium.org, jochen@chromium.org, machenbach@chromium.org
> BUG=v8:3782
>
> Committed: https://crrev.com/dbefc8ee2e9ee6e41b83f3d09c788c34bc923b43
> Cr-Commit-Position: refs/heads/master@{#39286}

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

Review-Url: https://codereview.chromium.org/2328563002
Cr-Commit-Position: refs/heads/master@{#39287}
2016-09-08 15:56:24 +00:00
ofrobots
dbefc8ee2e Use -fno-delete-null-pointer-checks with gcc builds
R=bmeurer@chromium.org, jochen@chromium.org, machenbach@chromium.org
BUG=v8:3782

Review-Url: https://codereview.chromium.org/2310513002
Cr-Commit-Position: refs/heads/master@{#39286}
2016-09-08 15:49:58 +00:00
machenbach
c90964616e [gn] Switch linux gc stress trybot to gn
Fell through the cracks in a recent CL. Should have switched
with the CI bot, which is on GN already.

BUG=chromium:474921
NOTRY=true

Review-Url: https://codereview.chromium.org/2328533002
Cr-Commit-Position: refs/heads/master@{#39285}
2016-09-08 15:48:23 +00:00
mlippautz
5c3b6ca8d9 [heap] Fix debug check in ShrinkToHighWaterMark
BUG=
R=ulan@chromium.org

Review-Url: https://codereview.chromium.org/2328503002
Cr-Commit-Position: refs/heads/master@{#39284}
2016-09-08 15:06:19 +00:00
mythria
9a31162d9d [Interpreter] Collect allocation site feedback in call bytecode handler.
Adds support to collect allocation site feedback for Array function calls
to the call bytecode handler.

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2307903002
Cr-Commit-Position: refs/heads/master@{#39283}
2016-09-08 14:50:09 +00:00