Commit Graph

39276 Commits

Author SHA1 Message Date
bbudge
dddfcfd0a9 [WASM SIMD] Remove opcodes that are slow on some platforms.
These can be synthesized from existing operations and scheduled for
better performance than if we have to generate blocks of instructions
that take many cycles to complete.
- Remove F32x4RecipRefine, F32x4RecipSqrtRefine. Clients are better off
  synthesizing these from splats, multiplies and adds.
- Remove F32x4Div, F32x4Sqrt, F32x4MinNum, F32x4MaxNum. Clients are
  better off synthesizing these or using the reciprocal approximations,
  possibly with a refinement step.

LOG=N
BUG=v8:6020

Review-Url: https://codereview.chromium.org/2827143002
Cr-Commit-Position: refs/heads/master@{#44784}
2017-04-21 21:34:43 +00:00
jkummerow
75ce09b533 Fix HashTable growth strategy to be 2x instead of 4x
Review-Url: https://codereview.chromium.org/2827263004
Cr-Commit-Position: refs/heads/master@{#44783}
2017-04-21 17:31:29 +00:00
Igor Sheludko
ab4164ded3 [debug] Fix SloppyArgumentsElements verifier.
BUG=chromium:713365

Change-Id: I5d9d5b5e00a637923a1a3e0dc7f81fa4075c4e82
Reviewed-on: https://chromium-review.googlesource.com/484300
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44782}
2017-04-21 16:57:06 +00:00
Michael Lippautz
7c87aeb188 [gm.py] Notify using print when notify-send is not supported
Bug:

Change-Id: I532e8894df288c81a71b08ca85742f2847f57191
Reviewed-on: https://chromium-review.googlesource.com/484339
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44781}
2017-04-21 16:10:23 +00:00
Igor Sheludko
2d856544e5 [ic] Fix handling of elements kind transitions in polymorphic keyed ICs.
Ensure source map is not stable if elements kind transitions are expected.

BUG=chromium:700733

Change-Id: Ie937e7064127250b1100109986c3e9b411fae1d6
Reviewed-on: https://chromium-review.googlesource.com/483442
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44780}
2017-04-21 15:14:26 +00:00
jgruber
1a02b627b3 [regexp] Remove remainder of native RegExpExecStub
If we avoid throwing a stack overflow exception from Irregexp code during
direct calls, there is no need to construct exit frames before the Irregexp
call anymore. As that was the last remaining blocker, we can now implement the
entire stub in CSA.

BUG=v8:5339

Review-Url: https://codereview.chromium.org/2752143003
Cr-Original-Original-Commit-Position: refs/heads/master@{#44770}
Committed: 74f2497eae
Review-Url: https://codereview.chromium.org/2752143003
Cr-Original-Commit-Position: refs/heads/master@{#44775}
Committed: 9c0832eb1a
Review-Url: https://codereview.chromium.org/2752143003
Cr-Commit-Position: refs/heads/master@{#44779}
2017-04-21 14:03:34 +00:00
yangguo
dfdfc4e023 Remove some unused symbols.
R=franzih@chromium.org

Review-Url: https://codereview.chromium.org/2834053002
Cr-Commit-Position: refs/heads/master@{#44778}
2017-04-21 13:39:58 +00:00
jkummerow
d549260a5e [grokdump] Include -z flag to make objdump disassemble all-zero sections
NOTRY=true

Review-Url: https://codereview.chromium.org/2834853002
Cr-Commit-Position: refs/heads/master@{#44777}
2017-04-21 13:35:37 +00:00
jgruber
b2aba7d768 Revert of [regexp] Remove remainder of native RegExpExecStub (patchset #10 id:180001 of https://codereview.chromium.org/2752143003/ )
Reason for revert:
More failures on ports:

https://build.chromium.org/p/client.v8.ports/builders/V8%20Android%20Arm64%20-%20builder/builds/9123/steps/compile/logs/stdio

https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/8966/steps/compile/logs/stdio

Original issue's description:
> [regexp] Remove remainder of native RegExpExecStub
>
> If we avoid throwing a stack overflow exception from Irregexp code during
> direct calls, there is no need to construct exit frames before the Irregexp
> call anymore. As that was the last remaining blocker, we can now implement the
> entire stub in CSA.
>
> BUG=v8:5339
>
> Review-Url: https://codereview.chromium.org/2752143003
> Cr-Original-Commit-Position: refs/heads/master@{#44770}
> Committed: 74f2497eae
> Review-Url: https://codereview.chromium.org/2752143003
> Cr-Commit-Position: refs/heads/master@{#44775}
> Committed: 9c0832eb1a

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

Review-Url: https://codereview.chromium.org/2832193002
Cr-Commit-Position: refs/heads/master@{#44776}
2017-04-21 13:16:37 +00:00
jgruber
9c0832eb1a [regexp] Remove remainder of native RegExpExecStub
If we avoid throwing a stack overflow exception from Irregexp code during
direct calls, there is no need to construct exit frames before the Irregexp
call anymore. As that was the last remaining blocker, we can now implement the
entire stub in CSA.

BUG=v8:5339

Review-Url: https://codereview.chromium.org/2752143003
Cr-Original-Commit-Position: refs/heads/master@{#44770}
Committed: 74f2497eae
Review-Url: https://codereview.chromium.org/2752143003
Cr-Commit-Position: refs/heads/master@{#44775}
2017-04-21 13:02:10 +00:00
yangguo
43c20d4cc5 [test] add --no-harness option to debugger tests.
Review-Url: https://codereview.chromium.org/2831083003
Cr-Commit-Position: refs/heads/master@{#44774}
2017-04-21 12:56:53 +00:00
Michael Achenbach
0199018c6f Revert "Revert of [regexp] Remove remainder of native RegExpExecStub (patchset #8 id:140001 of https://codereview.chromium.org/2752143003/ )"
This reverts commit da118ddfce.

Erroneous double revert.

TBR=jgruber@chromium.org
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: Iecabbb9b046e9c66cb86f9e9c5c6e0de6eab1c58
Reviewed-on: https://chromium-review.googlesource.com/484382
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44773}
2017-04-21 12:24:09 +00:00
machenbach
da118ddfce Revert of [regexp] Remove remainder of native RegExpExecStub (patchset #8 id:140001 of https://codereview.chromium.org/2752143003/ )
Reason for revert:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Android%20Arm64%20-%20builder/builds/9118

Original issue's description:
> [regexp] Remove remainder of native RegExpExecStub
>
> If we avoid throwing a stack overflow exception from Irregexp code during
> direct calls, there is no need to construct exit frames before the Irregexp
> call anymore. As that was the last remaining blocker, we can now implement the
> entire stub in CSA.
>
> BUG=v8:5339
>
> Review-Url: https://codereview.chromium.org/2752143003
> Cr-Commit-Position: refs/heads/master@{#44770}
> Committed: 74f2497eae

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

Review-Url: https://codereview.chromium.org/2827243005
Cr-Commit-Position: refs/heads/master@{#44772}
2017-04-21 12:02:30 +00:00
machenbach
8c80595edf Revert of [regexp] Remove remainder of native RegExpExecStub (patchset #8 id:140001 of https://codereview.chromium.org/2752143003/ )
Reason for revert:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Android%20Arm64%20-%20builder/builds/9118

Original issue's description:
> [regexp] Remove remainder of native RegExpExecStub
>
> If we avoid throwing a stack overflow exception from Irregexp code during
> direct calls, there is no need to construct exit frames before the Irregexp
> call anymore. As that was the last remaining blocker, we can now implement the
> entire stub in CSA.
>
> BUG=v8:5339
>
> Review-Url: https://codereview.chromium.org/2752143003
> Cr-Commit-Position: refs/heads/master@{#44770}
> Committed: 74f2497eae

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

Review-Url: https://codereview.chromium.org/2833083002
Cr-Commit-Position: refs/heads/master@{#44771}
2017-04-21 12:01:43 +00:00
jgruber
74f2497eae [regexp] Remove remainder of native RegExpExecStub
If we avoid throwing a stack overflow exception from Irregexp code during
direct calls, there is no need to construct exit frames before the Irregexp
call anymore. As that was the last remaining blocker, we can now implement the
entire stub in CSA.

BUG=v8:5339

Review-Url: https://codereview.chromium.org/2752143003
Cr-Commit-Position: refs/heads/master@{#44770}
2017-04-21 11:46:23 +00:00
Leszek Swirski
2815796510 [compiler] Remove OSR deopt count hack
Now that we are counting deopts instead of optimizations for the
"too many deoptimizations" bailout, we can remove the OSR deopt
increment hack.

Bug: chromium:700016
Change-Id: I3edd55db986cc47add632bb5af969dcee4e7a2b5
Reviewed-on: https://chromium-review.googlesource.com/484340
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44769}
2017-04-21 11:02:31 +00:00
Michael Starzinger
3864b09a2b [asm.js] Cleanup function import signature caching.
This simplifies the double-indirection used for the signature cache in
function imports and also reduces the memory its memory footprint. Also
switch to use the local zone as an underlying storage.

R=rossberg@chromium.org
BUG=v8:6127

Change-Id: I8bc6cf13f2ce9ffa02485e76b7e36f389c9e02e5
Reviewed-on: https://chromium-review.googlesource.com/483443
Reviewed-by: Andreas Rossberg <rossberg@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44768}
2017-04-21 10:58:00 +00:00
mlippautz
e863286b33 [heap] Allow concurrently transferring colors
Adds general support for concurrent modifications to live byte counters.

BUG=chromium:651354

Review-Url: https://codereview.chromium.org/2836583002
Cr-Commit-Position: refs/heads/master@{#44767}
2017-04-21 10:06:47 +00:00
Toon Verwaest
870d3f6627 [heap] API objects with elements aren't unmodified
Bug: v8:6284

Change-Id: I3a52819f4e67a143a0b3b63358fc4dd0df384553
Reviewed-on: https://chromium-review.googlesource.com/483482
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44766}
2017-04-21 09:51:58 +00:00
georgia.kouveli
0dfb0e21fe [arm64] Support passing more than eight arguments to C functions
BUG=v8:6102

Review-Url: https://codereview.chromium.org/2833463002
Cr-Commit-Position: refs/heads/master@{#44765}
2017-04-21 09:30:14 +00:00
v8-autoroll
9a511bdf4d Update V8 DEPS.
Rolling v8/tools/clang: a9a3094..5d201de

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

Change-Id: I27cd525fb18d47ff9fcf1c60c45d251d4f36ef80
Reviewed-on: https://chromium-review.googlesource.com/484100
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44764}
2017-04-21 08:53:20 +00:00
Michael Starzinger
ea7064779a [asm.js] Test and fix global variable imports.
This also removes a broken optimization regarding immutable (i.e. const)
global variables. For now mutable and immutable global variables are
treated the same and hence copied during module initialization.

R=rossberg@chromium.org
TEST=mjsunit/asm/global-imports
BUG=v8:6279

Change-Id: I020fc12036dc534f5a62fb43f5c6fdb252314e62
Reviewed-on: https://chromium-review.googlesource.com/483360
Reviewed-by: Andreas Rossberg <rossberg@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44763}
2017-04-21 08:09:04 +00:00
v8-autoroll
93efcf9a06 Update V8 DEPS.
Rolling v8/build: 98f2769..ff3857b

Rolling v8/third_party/catapult: 6939b1d..34ee837

Rolling v8/tools/clang: a38e11d..a9a3094

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

Change-Id: I0f3817c86616ae1c7020ee8834070a68900657d8
Reviewed-on: https://chromium-review.googlesource.com/484003
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44762}
2017-04-21 03:28:31 +00:00
Sathya Gunasekaran
3c0f8918e5 Revert "[OrderedHashSet] Remove extra entry lookup"
This reverts commit 64c1286001.

Reason for revert: the number of buckets can be changed later, so we can't cache the value

Original change's description:
> [OrderedHashSet] Remove extra entry lookup
> 
> Bug: v8:5717
> Change-Id: I999ea81f745a25a1f3a539e50594e597e64f5287
> Reviewed-on: https://chromium-review.googlesource.com/481044
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44705}

TBR=adamk@chromium.org,cbruni@chromium.org,gsathya@chromium.org,v8-reviews@googlegroups.com
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Iade35c0041e943f6dedb24844b07034f56ff1150
Reviewed-on: https://chromium-review.googlesource.com/483904
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44761}
2017-04-21 01:40:55 +00:00
Sathya Gunasekaran
ba4fb63784 Revert "[OrderedHashSet] Remove redundant hash to bucket"
This reverts commit 88376a7837.

Reason for revert: the number of buckets could change, so we can't cache the value

Original change's description:
> [OrderedHashSet] Remove redundant hash to bucket
> 
> Bug: v8:5717
> Change-Id: I88e1e3089844b0955f0f7a6a792c2e10949a5b18
> Reviewed-on: https://chromium-review.googlesource.com/480927
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44707}

TBR=adamk@chromium.org,cbruni@chromium.org,gsathya@chromium.org,v8-reviews@googlegroups.com
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I4d42021a1d1f5bc069b3787efc828761098038e0
Reviewed-on: https://chromium-review.googlesource.com/483903
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44760}
2017-04-21 01:13:13 +00:00
sampsong
5204f0871d PPC: Allow share input in ShiftLeftPair and ShiftRightPair
BUG=
R=jyan@ca.ibm.com, bjaideep@ca.ibm.com, joransiu@ca.ibm.com

Review-Url: https://codereview.chromium.org/2829713003
Cr-Commit-Position: refs/heads/master@{#44759}
2017-04-20 21:32:32 +00:00
Eric Holk
ec772a4fd8 Restrict range for int64_t to immediate conversions
The included test case illustrates the problem. It subtracts (16 << 27)
from another number. The Machine Operator Reducer would replace the
shift computation with 0x0000000080000000, and then change the subtract
to an add of -(0x0000000080000000), which is 0xffffffff80000000.
The instruction selector would determine that this value could be an
immediate, because it fits in 32 bits, so it would select the lea
instruction. Finally, the code generator would detect that the
immediate was less than 0, flip the sign and replace the add with a
subtract of 0x80000000. Because the x64 subtract instruction's
immediate field is 32 bits, the processor would interpret this as
0xffffffff80000000 instead of an unsigned value.

This change fixes the issue by making the CanBeImmediate check
explicitly compare against INT_MIN and INT_MAX. We disallow INT_MIN
as an immediate precisely because we cannot tell 0x0000000080000000
from 0xffffffff80000000 when truncated to 32 bits.

Bug: chromium:711203
Change-Id: Ie371b8ea290684a6bb723bae9c693a866f961850
Reviewed-on: https://chromium-review.googlesource.com/482448
Commit-Queue: Eric Holk <eholk@chromium.org>
Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44758}
2017-04-20 21:03:31 +00:00
Adam Klein
de9daff0f7 Remove Accessors::FunctionSetPrototype
It was a straight pass-through to JSFunction::SetPrototype, with the
added wrinkle that it appeared to sometimes throw (although it never did).

Also improves typing of JSFunction::SetInstancePrototype signature to
require being passed a JSReceiver.

Change-Id: Ie85b9a74955f72bf988cd902c5eec34e32b51a24
Reviewed-on: https://chromium-review.googlesource.com/482421
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44757}
2017-04-20 19:52:24 +00:00
jkummerow
0cbe645413 [gm.py] Add support for building mkgrokdump
Now you can do: "gm.py x64.release mkgrokdump"

NOTRY=true

Review-Url: https://codereview.chromium.org/2827383003
Cr-Commit-Position: refs/heads/master@{#44756}
2017-04-20 19:37:09 +00:00
kozyatinskiy
296be5222d [inspector] collect old async stack traces 20% faster
BUG=v8:6189
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2826183002
Cr-Commit-Position: refs/heads/master@{#44755}
2017-04-20 18:07:24 +00:00
kozyatinskiy
f4721a5f30 [test/inspector] migrate utils to ObjectTemplate
v8::Extension should be replaced with ObjectTemplates. So let's not use it for utils.

BUG=none
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2828143002
Cr-Commit-Position: refs/heads/master@{#44754}
2017-04-20 18:04:24 +00:00
kozyatinskiy
fa1de6145f [inspector] deduplicate stack frames
Since we already have cache on V8 side we can introduce caching on inspector side. It will decrease memory consumption and reduce time which we spend for collecting stacks. See [1] for details.

[1] https://docs.google.com/a/google.com/document/d/13H1Pn6dekcwqlaYP26CfyyYGuL-U9LtUPWmt3TIpOag/edit?usp=sharing

BUG=v8:6189
R=dgozman@chromium.org,yangguo@chromium.org

Review-Url: https://codereview.chromium.org/2825903002
Cr-Commit-Position: refs/heads/master@{#44753}
2017-04-20 17:33:03 +00:00
kozyatinskiy
f28e487858 [console] fast console.assert(true)
A lot of web sites around the world has hack which replaces native console.assert by function with fast return.
Current console.assert is slow because we need to run CPP builtin but we should enter this builtin iff condition is false or omitted.

BUG=v8:6175
R=ishell@chromium.org,dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2828933002
Cr-Commit-Position: refs/heads/master@{#44752}
2017-04-20 17:17:18 +00:00
Sathya Gunasekaran
d089276e03 [OrderedHashSet] Update layout structure comment
Change-Id: I436e8390073fce6488cb9a26b9bde60f92935638
Reviewed-on: https://chromium-review.googlesource.com/482578
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44751}
2017-04-20 16:55:38 +00:00
kozyatinskiy
189ffd9460 [inspector] removed kDebugPromiseCollected event
With recent CLs we always store maximum N async stack traces and when we reach limit we drop half of them.
Current promise collected event requires creating weak handle:
- it takes time,
- it consumes memory.
Since async task id distribution for promises is uniform (each new promise has last_async_task_id + 1 as an id) our hash map is good enough to handle any amount of async task ids, following time of executing 1 000 000 000 of lookups:
- for empty hash map: 1.45 seconds,
- for hash map with one entry: 14.95 seconds
- 1024 entries: 15.03 seconds
- 1024 * 1024 entries: 14.82 seconds
- 1024 * 1024 * 1024: 17.9 seconds

BUG=v8:6189
R=dgozman@chromium.org,yangguo@chromium.org

Review-Url: https://codereview.chromium.org/2819423005
Cr-Commit-Position: refs/heads/master@{#44750}
2017-04-20 15:49:02 +00:00
sreten.kovacevic
24782a47c0 MIPS[64]: Fix [turbofan] Correct lazy deopt {JSCreate} operation.
Fix 6ee0b6cec6

Fix wrong register usage for MIPS ports

TEST=mjsunit/regress/regress-5638b
BUG=

Review-Url: https://codereview.chromium.org/2831733004
Cr-Commit-Position: refs/heads/master@{#44749}
2017-04-20 14:45:44 +00:00
neis
7a12fc0051 [compiler] Add instrumentation for tracking down Node::New crashes.
R=jarin@chromium.org
BUG=chromium:713584

Review-Url: https://codereview.chromium.org/2833783002
Cr-Commit-Position: refs/heads/master@{#44748}
2017-04-20 14:27:57 +00:00
yangguo
2295759711 Revert of [serializer/debugger] hide scripts in the snapshot from the debugger. (patchset #5 id:80001 of https://codereview.chromium.org/2826073004/ )
Reason for revert:
failure in the custom snapshot build: http://builders/V8%20Linux64%20-%20custom%20snapshot%20-%20debug/builds/14178

Original issue's description:
> [serializer/debugger] hide scripts in the snapshot from the debugger.
>
> R=jgruber@chromium.org
> BUG=v8:6274
>
> Review-Url: https://codereview.chromium.org/2826073004
> Cr-Commit-Position: refs/heads/master@{#44745}
> Committed: 215e668256

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

Review-Url: https://codereview.chromium.org/2831893002
Cr-Commit-Position: refs/heads/master@{#44747}
2017-04-20 13:54:50 +00:00
Ilija.Pavlovic
cc797ac06c MIPS64: Move load/store instructions to macro-assembler.
For MIPS64, many load/store operations from/to memory emit more then
one instruction. This is the reason for moving them from assembler to
macro-assembler.

TEST=
BUG=

Review-Url: https://codereview.chromium.org/2829073002
Cr-Commit-Position: refs/heads/master@{#44746}
2017-04-20 13:45:05 +00:00
yangguo
215e668256 [serializer/debugger] hide scripts in the snapshot from the debugger.
R=jgruber@chromium.org
BUG=v8:6274

Review-Url: https://codereview.chromium.org/2826073004
Cr-Commit-Position: refs/heads/master@{#44745}
2017-04-20 13:27:43 +00:00
jarin
e24206b2fa [turbofan] Graph builder: reuse the one-element cache for parameters state values.
Without this fix, we create a new state-values node for parameters per environment. This is especially bad for heavily branching functions. With the fix, we should only create one node per function.

Drive-by: removes some unused fields for state values in the environment.

BUG=v8:5267

Review-Url: https://codereview.chromium.org/2826223004
Cr-Commit-Position: refs/heads/master@{#44744}
2017-04-20 13:11:14 +00:00
Michael Achenbach
3884f60868 Revert "[runtime] Pass global proxy as receiver to native accessors in case of contextual access"
This reverts commit 64bb6e6c90.

Reason for revert: Breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/15092

See:
https://github.com/v8/v8/wiki/Blink-layout-tests

Original change's description:
> [runtime] Pass global proxy as receiver to native accessors in case of contextual access
> 
> Bug:
> 
> Change-Id: I288c0d7a34b65eda6c6e46168c436b87a350f6d4
> Reviewed-on: https://chromium-review.googlesource.com/483199
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44739}

TBR=yangguo@chromium.org,verwaest@chromium.org,v8-reviews@googlegroups.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ifc204ce5a2e6d774b993210fcc6782fc6f27dd7b
Reviewed-on: https://chromium-review.googlesource.com/483480
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44743}
2017-04-20 13:02:29 +00:00
Wiktor Garbacz
d2a48d776e [parser] Reparse function name if needed
Preparser does not keep track of function names. If we want to
parse top-level function and top-level code was only preparsed
we need to parse the function name again. Even if we parsed the
function name, passing it is non-trivial so it makes sense to just
reparse.

BUG=v8:6093

Change-Id: Iafbcd677981f1db52b485eee0f0d769e4fd26543
Reviewed-on: https://chromium-review.googlesource.com/483359
Commit-Queue: Wiktor Garbacz <wiktorg@google.com>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44742}
2017-04-20 12:58:47 +00:00
ivica.bogosavljevic
3b217d4245 [inspector] Fix double rules warning when compiling inspector with GYP
When cross compiling inspector with GYP on MIPS and ARM, there are three
rules that generate the same file both host toolset and target toolset.
This causes problems because of rule duplication; depending on
compilation configuration this can cause warning or error.
We fix this by disabling the host rule and using target rule for all
depending rules.

BUG=v8:6176

Review-Url: https://codereview.chromium.org/2819283005
Cr-Commit-Position: refs/heads/master@{#44741}
2017-04-20 12:38:54 +00:00
jkummerow
43fd247c52 [builtins] Introduce DeleteProperty builtin
So that we can delete object properties without a runtime call.
The builtin implements a few fast paths (for now only deletion
of dictionary properties), and calls the runtime for all other
cases.

Review-Url: https://codereview.chromium.org/2810363003
Cr-Commit-Position: refs/heads/master@{#44740}
2017-04-20 12:11:05 +00:00
Toon Verwaest
64bb6e6c90 [runtime] Pass global proxy as receiver to native accessors in case of contextual access
Bug:

Change-Id: I288c0d7a34b65eda6c6e46168c436b87a350f6d4
Reviewed-on: https://chromium-review.googlesource.com/483199
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44739}
2017-04-20 09:30:57 +00:00
yangguo
9d71683e11 Introduce mkgrokdump to update tools/v8heapconst.py.
- Migrate make grokdump to GYP and GN
- Move code from d8 into stand-alone execution
- Add test case to ensure it's up-to-date

Review-Url: https://codereview.chromium.org/2809653003
Cr-Original-Original-Commit-Position: refs/heads/master@{#44687}
Committed: 0cc0c130fa
Review-Url: https://codereview.chromium.org/2809653003
Cr-Original-Commit-Position: refs/heads/master@{#44710}
Committed: 477f005574
Review-Url: https://codereview.chromium.org/2809653003
Cr-Commit-Position: refs/heads/master@{#44738}
2017-04-20 06:15:02 +00:00
v8-autoroll
08d5729ad9 Update V8 DEPS.
Rolling v8/build: bca1cbe..98f2769

Rolling v8/buildtools: 88811f4..98f00fa

Rolling v8/third_party/catapult: cabc131..6939b1d

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

Change-Id: I3a593ac90e3bda51717fc193478e55af949c34f3
Reviewed-on: https://chromium-review.googlesource.com/482919
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44737}
2017-04-20 06:14:51 +00:00
kozyatinskiy
6b8f22bab3 [inspector] never compare iterators in diferent containers
BUG=v8:6175
TBR=dgozman@chromium.org
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2828133002
Cr-Commit-Position: refs/heads/master@{#44736}
2017-04-20 01:17:13 +00:00
kozyatinskiy
d1ba8c8546 [inspector] cleanup all task related data when limit reached
- and reduce limit to 128 * 1024.

BUG=v8:6189
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2824293002
Cr-Commit-Position: refs/heads/master@{#44735}
2017-04-20 00:14:49 +00:00