platform/upstream/v8.git
9 years agoRe-enable an UNREACHABLE in JSObject::GetHeaderSize()
jkummerow [Fri, 17 Apr 2015 08:47:20 +0000 (01:47 -0700)]
Re-enable an UNREACHABLE in JSObject::GetHeaderSize()

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

Cr-Commit-Position: refs/heads/master@{#27908}

9 years agoReland "Migrate error messages, part 2."
yangguo [Fri, 17 Apr 2015 08:35:59 +0000 (01:35 -0700)]
Reland "Migrate error messages, part 2."

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

Cr-Commit-Position: refs/heads/master@{#27907}

9 years agoX87: Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling...
chunyang.dai [Fri, 17 Apr 2015 08:18:14 +0000 (01:18 -0700)]
X87: Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling optimizations"

port 8098253562c7585405f435145e7acf74ff0123f8 (r27898)

original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27906}

9 years agoLet asan imply clang and use_allocator=none.
machenbach [Fri, 17 Apr 2015 08:13:20 +0000 (01:13 -0700)]
Let asan imply clang and use_allocator=none.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27905}

9 years agoRevert of Refactor compilation dependency handling. (patchset #4 id:60001 of https...
machenbach [Fri, 17 Apr 2015 07:47:16 +0000 (00:47 -0700)]
Revert of Refactor compilation dependency handling. (patchset #4 id:60001 of https://codereview.chromium.org/1095433002/)

Reason for revert:
[Sheriff] Causes crashes in laout tests:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2543

Extra bisect run:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2548

Original issue's description:
> Refactor compilation dependency handling.
>
> Extract a new data structure CompilationDependencies and move (most) logic there.
>
> R=mstarzinger@chromium.org,verwaest@chromium.org
> BUG=
>
> Committed: https://crrev.com/b882479f1c84a48961b8aec81fa1bb1225034784
> Cr-Commit-Position: refs/heads/master@{#27892}

TBR=mstarzinger@chromium.org,verwaest@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27904}

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 17 Apr 2015 03:44:45 +0000 (20:44 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 2afd19d64f7c67c73e2052e87fbe4e1bc2a671c9

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27903}

9 years agoRevert of Revert "Remove early bail-out in VisitWeakList to investigate chrasher...
jochen [Thu, 16 Apr 2015 21:00:12 +0000 (14:00 -0700)]
Revert of Revert "Remove early bail-out in VisitWeakList to investigate chrasher." (patchset #1 id:1 of https://codereview.chromium.org/1080303002/)

Reason for revert:
Still doesn't work

Original issue's description:
> Revert "Remove early bail-out in VisitWeakList to investigate chrasher."
>
> >  BUG=468601
> >  LOG=n
> >
> >  Review URL: https://codereview.chromium.org/1016353002
> >
> >  Cr-Commit-Position: refs/heads/master@{#27317}
>
> R=hpayer@chromium.org
> BUG=v8:3996,chromium:468601
> LOG=n
>
> Committed: https://crrev.com/835eeafe32f442d7b43fe175237de2c70ed7ceef
> Cr-Commit-Position: refs/heads/master@{#27814}

TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996,chromium:468601

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

Cr-Commit-Position: refs/heads/master@{#27902}

9 years agoSerializer: share executable accessor infos between native contexts.
yangguo [Thu, 16 Apr 2015 18:07:57 +0000 (11:07 -0700)]
Serializer: share executable accessor infos between native contexts.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27901}

9 years agoProperly report OOM when deoptimizer allocation fails
erikcorry [Thu, 16 Apr 2015 18:05:32 +0000 (11:05 -0700)]
Properly report OOM when deoptimizer allocation fails

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27900}

9 years agoDon't crash when reporting an access check failure for a detached global proxy
jkummerow [Thu, 16 Apr 2015 17:46:45 +0000 (10:46 -0700)]
Don't crash when reporting an access check failure for a detached global proxy

BUG=chromium:475884
LOG=y
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27899}

9 years agoReland "Add basic crankshaft support for slow-mode for-in to avoid disabling optimiza...
verwaest [Thu, 16 Apr 2015 17:32:05 +0000 (10:32 -0700)]
Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling optimizations"

BUG=chromium:476592
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27898}

9 years agoUse smaller heap growing factor in idle notification to start incremental marking...
hpayer [Thu, 16 Apr 2015 16:31:41 +0000 (09:31 -0700)]
Use smaller heap growing factor in idle notification to start incremental marking when there is idle time >16ms.

BUG=chromium:477323
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27897}

9 years ago[turbofan] Add single --turbo flag.
mstarzinger [Thu, 16 Apr 2015 16:28:45 +0000 (09:28 -0700)]
[turbofan] Add single --turbo flag.

This flag is intended as a staging flag for TurboFan. It serves as a
single flag that always enables a most recent configuration of TurboFan
for test suites and benchmarks, without needing to update test drivers.

R=titzer@chromium.org,machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27896}

9 years agoPPC: Array() in optimized code can create with wrong ElementsKind in corner cases.
mbrandy [Thu, 16 Apr 2015 16:13:23 +0000 (09:13 -0700)]
PPC: Array() in optimized code can create with wrong ElementsKind in corner cases.

Port 13459c1ae3caa4cc546c522177bac5450a3252bf

Original commit message:
Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code
makes a stub call that bails out due to the length. Currently, the bailout
code a) doesn't have the allocation site, and b) wouldn't use it if it did
because the length is perceived to be too high.

This CL passes the allocation site to the stub call (rather than undefined),
and alters the bailout code to utilize the feedback.

R=mvstanton@chromium.org, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27895}

9 years agoMIPS: Fix for StringCharCodeAtGenerator for vector-ics.
paul.lind [Thu, 16 Apr 2015 16:06:56 +0000 (09:06 -0700)]
MIPS: Fix for StringCharCodeAtGenerator for vector-ics.

Register pop order bug only surfaced after vector-ic optimization
in https://codereview.chromium.org/1053843003 was landed.

TEST=mjsunit/string-index.js
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27894}

9 years agoReland MIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible.
paul.lind [Thu, 16 Apr 2015 16:05:49 +0000 (09:05 -0700)]
Reland MIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible.

Port 35a67b745d862c5b1f584c2786ebf1369dc4f1ff

Original commit message:
Thanks to some careful assumptions, we can examine the object found at
vector[slot] and trust it's a heap object where the second field is
either a map if it's a WeakCell, or definitely not a map if it's a
Symbol, String or FixedArray. Use this to save a memory read.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27757}

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

Cr-Commit-Position: refs/heads/master@{#27893}

9 years agoRefactor compilation dependency handling.
titzer [Thu, 16 Apr 2015 16:04:43 +0000 (09:04 -0700)]
Refactor compilation dependency handling.

Extract a new data structure CompilationDependencies and move (most) logic there.

R=mstarzinger@chromium.org,verwaest@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27892}

9 years agoMove GetRootListIndex into Heap.
titzer [Thu, 16 Apr 2015 15:08:17 +0000 (08:08 -0700)]
Move GetRootListIndex into Heap.

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27891}

9 years agoMake test unthreaded so other tests don't interfere with heap size
erikcorry [Thu, 16 Apr 2015 14:44:31 +0000 (07:44 -0700)]
Make test unthreaded so other tests don't interfere with heap size

R=hpayer@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27890}

9 years agoRevert of Migrate error messages, part 2. (patchset #1 id:1 of https://codereview...
machenbach [Thu, 16 Apr 2015 14:33:34 +0000 (07:33 -0700)]
Revert of Migrate error messages, part 2. (patchset #1 id:1 of https://codereview.chromium.org/1086313003/)

Reason for revert:
[Sheriff]: This changes layout test expectations e.g.
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Win/builds/2964

Original issue's description:
> Migrate error messages, part 2.
>
> Motivation for this is reducing the size of the native context.
>
> Committed: https://crrev.com/d3b788df0a4ccfedbe6e1df5e214cb6ba2792a65
> Cr-Commit-Position: refs/heads/master@{#27878}

TBR=mvstanton@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27889}

9 years ago[strong] Allow mutually recursive classes.
marja [Thu, 16 Apr 2015 14:13:03 +0000 (07:13 -0700)]
[strong] Allow mutually recursive classes.

The previous restrictions were overshooting (didn't allow a class to refer to a
later class under any circumstances); after this CL we're undershooting (allow
referring to any class from inside a method).

Implementing the correct checks (allow referring only if the class declarations
are in a consecutive block and if there's no dependency cycle) will be
implemented as a follow up.

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27888}

9 years agoSerializer: collect and output memory statistics.
yangguo [Thu, 16 Apr 2015 13:39:21 +0000 (06:39 -0700)]
Serializer: collect and output memory statistics.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27887}

9 years agoAdd a flag to trace heap object stats on GC.
ulan [Thu, 16 Apr 2015 13:30:37 +0000 (06:30 -0700)]
Add a flag to trace heap object stats on GC.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27886}

9 years ago[strong] Implement static restrictions on switch statement
conradw [Thu, 16 Apr 2015 13:29:29 +0000 (06:29 -0700)]
[strong] Implement static restrictions on switch statement

Implements the strong mode proposal's restrictions on the syntax of the
switch statement. Also fixes a minor bug with empty statements in strong
mode and improves StrongUndefinedArrow parser synch tests.

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27885}

9 years agoIf a code space commit partially succeeds, free the memory
erikcorry [Thu, 16 Apr 2015 13:28:20 +0000 (06:28 -0700)]
If a code space commit partially succeeds, free the memory

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27884}

9 years agoFix logic for doing incremental marking steps on tenured allocation.
erikcorry [Thu, 16 Apr 2015 13:20:47 +0000 (06:20 -0700)]
Fix logic for doing incremental marking steps on tenured allocation.

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27883}

9 years agoStore hashes of current and previous shipped V8 version
hablich [Thu, 16 Apr 2015 12:51:51 +0000 (05:51 -0700)]
Store hashes of current and previous shipped V8 version

Will be used for calculating changes between versions

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27882}

9 years agoDisable more failing tests after f3338dd3b01c.
mstarzinger [Thu, 16 Apr 2015 12:46:36 +0000 (05:46 -0700)]
Disable more failing tests after f3338dd3b01c.

TBR=jkummerow@chromium.org
TEST=mjsunit/debug-ignore-breakpoints
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27881}

9 years agoSimplify DoParseProgram
wingo [Thu, 16 Apr 2015 12:42:43 +0000 (05:42 -0700)]
Simplify DoParseProgram

DoParseProgram doesn't appear to need to receive toplevel scopes as
arguments; it can properly set the end_position of the scopes to the
scanner's position after parsing is complete.

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

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

Cr-Commit-Position: refs/heads/master@{#27880}

9 years agoWrap map and set implementation in functions.
yangguo [Thu, 16 Apr 2015 12:17:46 +0000 (05:17 -0700)]
Wrap map and set implementation in functions.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27879}

9 years agoMigrate error messages, part 2.
yangguo [Thu, 16 Apr 2015 11:34:57 +0000 (04:34 -0700)]
Migrate error messages, part 2.

Motivation for this is reducing the size of the native context.

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

Cr-Commit-Position: refs/heads/master@{#27878}

9 years agoX87: Use Cells to check prototype chain validity (disabled by default).
chunyang.dai [Thu, 16 Apr 2015 10:40:54 +0000 (03:40 -0700)]
X87: Use Cells to check prototype chain validity (disabled by default).

port 0179ec57975c5063bbecd98e11cdda77ddad8996 (r27846).

original commit message:

 The cells are stored on prototypes (in their map's PrototypeInfo). When a
 prototype object changes its map, then both its own validity cell and those
 of all "downsstream" prototypes are invalidated; handlers for a given receiver
 embed the currently valid cell for that receiver's prototype during their
 compilation and check it on execution.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27877}

9 years agoMake store buffer more robust to OOM.
erikcorry [Thu, 16 Apr 2015 10:39:48 +0000 (03:39 -0700)]
Make store buffer more robust to OOM.

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27876}

9 years agoX87: Array() in optimized code can create with wrong ElementsKind in corner cases
chunyang.dai [Thu, 16 Apr 2015 10:38:43 +0000 (03:38 -0700)]
X87: Array() in optimized code can create with wrong ElementsKind in corner cases

port 13459c1ae3caa4cc546c522177bac5450a3252bf (r27857)

original commit message:

    Array() in optimized code can create with wrong ElementsKind in corner cases.

    Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code
    makes a stub call that bails out due to the length. Currently, the bailout
    code a) doesn't have the allocation site, and b) wouldn't use it if it did
    because the length is perceived to be too high.

    This CL passes the allocation site to the stub call (rather than undefined),
    and alters the bailout code to utilize the feedback.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27875}

9 years agoAdd missing Handle to GetOrCreatePrototypeChainValidityCell
jkummerow [Thu, 16 Apr 2015 10:37:34 +0000 (03:37 -0700)]
Add missing Handle to GetOrCreatePrototypeChainValidityCell

Follow-up to 333219a745ca.

NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#27874}

9 years agoX87: VectorICs: megamorphic keyed loads in crankshaft don't need a vector.
chunyang.dai [Thu, 16 Apr 2015 10:02:48 +0000 (03:02 -0700)]
X87: VectorICs: megamorphic keyed loads in crankshaft don't need a vector.

port 776770c0e4e9cffad408581962ca90f247ac66f0 (r27827).

original commit message:

  This needs "Pass load ic state through the Oracle"
  (https://codereview.chromium.org/1083933002/) to land first.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27873}

9 years agoEnable Cell-based prototype chain checks
jkummerow [Thu, 16 Apr 2015 09:32:00 +0000 (02:32 -0700)]
Enable Cell-based prototype chain checks

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

Cr-Commit-Position: refs/heads/master@{#27872}

9 years agoRevert of Experiment: reduce heap growing factor to investigate OOM impact. (patchset...
hpayer [Thu, 16 Apr 2015 09:06:49 +0000 (02:06 -0700)]
Revert of Experiment: reduce heap growing factor to investigate OOM impact. (patchset #4 id:60001 of https://codereview.chromium.org/1060533003/)

Reason for revert:
Experiment done.

Original issue's description:
> Experiment: reduce heap growing factor to investigate OOM impact.
>
> This CL will be reverted after getting sufficient data.
> BUG=
>
> Committed: https://crrev.com/8b737395c8fcde35cbfbed6607f767ed48eefc5b
> Cr-Commit-Position: refs/heads/master@{#27804}

TBR=ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27871}

9 years ago[turbofan] Clean up cached nodes in JSGraph.
titzer [Thu, 16 Apr 2015 08:41:44 +0000 (01:41 -0700)]
[turbofan] Clean up cached nodes in JSGraph.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27870}

9 years agoUse atomic operation to read the length of a fixed array.
ulan [Thu, 16 Apr 2015 08:39:19 +0000 (01:39 -0700)]
Use atomic operation to read the length of a fixed array.

This fixes a race where
- mutator changes the fixed array length by trimming it,
- sweeper thread reads the length of the fixed array.

Also rename FROM_GC and FROM_MUTATOR to be more precise.

BUG=chromium:462908
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#27869}

9 years agoAvoid evacuation of popular pages.
ulan [Thu, 16 Apr 2015 08:34:09 +0000 (01:34 -0700)]
Avoid evacuation of popular pages.

This breaks the (evacuation -> slots buffer overflow -> abort -> new GC -> evacuation) cycle for popular pages.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27868}

9 years agoRevert of [x64] Use xorl to materialize smi zero. (patchset #1 id:1 of https://codere...
bmeurer [Thu, 16 Apr 2015 08:31:26 +0000 (01:31 -0700)]
Revert of [x64] Use xorl to materialize smi zero. (patchset #1 id:1 of https://codereview.chromium.org/1085153002/)

Reason for revert:
Seems to cause performance regressions.

Original issue's description:
> [x64] Use xorl to materialize smi zero.
>
> Before we always loaded smi zero via a movabs with a 64-bit immediate,
> which is pretty expensive compared to the xorl.
>
> R=jarin@chromium.org
>
> Committed: https://crrev.com/f236777bfe6e080ff1ead6baf847cc9b6bb4f9cb
> Cr-Commit-Position: refs/heads/master@{#27829}

TBR=jarin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:477592
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27867}

9 years agofix visiting of phantom handles that should be retained
dcarney [Thu, 16 Apr 2015 08:30:28 +0000 (01:30 -0700)]
fix visiting of phantom handles that should be retained

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27866}

9 years agoFix signed/unsigned compare in messages.cc
yangguo [Thu, 16 Apr 2015 07:59:39 +0000 (00:59 -0700)]
Fix signed/unsigned compare in messages.cc

R=machenbach@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27865}

9 years agoStart migrating error message templates to the runtime.
yangguo [Thu, 16 Apr 2015 07:01:20 +0000 (00:01 -0700)]
Start migrating error message templates to the runtime.

Currently done with two templates, one used from native js, one from runtime.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27864}

9 years ago[turbofan] Typed lowering requires typed nodes.
bmeurer [Thu, 16 Apr 2015 06:39:52 +0000 (23:39 -0700)]
[turbofan] Typed lowering requires typed nodes.

There's no point in checking whether a node is typed in JSTypedLowering.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27863}

9 years ago[turbofan] Split ControlEquivalence implementation and add trace flag.
bmeurer [Thu, 16 Apr 2015 06:04:43 +0000 (23:04 -0700)]
[turbofan] Split ControlEquivalence implementation and add trace flag.

Split interface and implementation of ControlEquivalence and add a
dedicated trace flag --trace-turbo-ceq to make it reusable outside the
scheduler.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27862}

9 years ago[turbofan] Make js-typed-lowering.h self contained.
Benedikt Meurer [Thu, 16 Apr 2015 06:00:50 +0000 (08:00 +0200)]
[turbofan] Make js-typed-lowering.h self contained.

TBR=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27861}

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 16 Apr 2015 03:25:41 +0000 (20:25 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 32e839da8bd2088ef23c3ea874d3c1cd04cd1384

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27860}

9 years agoRevert "Add basic crankshaft support for slow-mode for-in to avoid disabling optimiza...
adamk [Wed, 15 Apr 2015 21:28:30 +0000 (14:28 -0700)]
Revert "Add basic crankshaft support for slow-mode for-in to avoid disabling optimizations"

This reverts commit 8c98cc074ef8278ce1c4dcd4790e8aaf6fbeedc6
because it causes flaky failures in the dromaeo.jslibeventprototype
benchmark on Linux/Windows and consistent failures on Android.

Also reverts the followup "Remove kForInStatementIsNotFastCase bailout reason"
(commit ba24e6769615d0ea7f7b5a31c5947769892f93a7) to avoid breaking the build.

BUG=chromium:476592
TBR=verwaest@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27859}

9 years agoFix FormalParameterErrorLocations member names
wingo [Wed, 15 Apr 2015 21:08:15 +0000 (14:08 -0700)]
Fix FormalParameterErrorLocations member names

R=arv@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27858}

9 years agoArray() in optimized code can create with wrong ElementsKind in corner cases.
mvstanton [Wed, 15 Apr 2015 21:02:14 +0000 (14:02 -0700)]
Array() in optimized code can create with wrong ElementsKind in corner cases.

Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code
makes a stub call that bails out due to the length. Currently, the bailout
code a) doesn't have the allocation site, and b) wouldn't use it if it did
because the length is perceived to be too high.

This CL passes the allocation site to the stub call (rather than undefined),
and alters the bailout code to utilize the feedback.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27857}

9 years agoRevert of Simplify DoParseProgram (patchset #2 id:20001 of https://codereview.chromiu...
machenbach [Wed, 15 Apr 2015 17:20:29 +0000 (10:20 -0700)]
Revert of Simplify DoParseProgram (patchset #2 id:20001 of https://codereview.chromium.org/1058363003/)

Reason for revert:
[Sheriff] Changes some layout tests on all platforms, e.g.:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2032/builds/2543

Original issue's description:
> Simplify DoParseProgram
>
> DoParseProgram doesn't appear to need to receive toplevel scopes as
> arguments; it can properly set the end_position of the scopes to the
> scanner's position after parsing is complete.
>
> R=marja@chromium.org
> BUG=
> LOG=N
>
> Committed: https://crrev.com/8da9252f61d3c499a78b0b94299c314b2eb0b0c8
> Cr-Commit-Position: refs/heads/master@{#27847}

TBR=marja@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27856}

9 years agoFix issues with name and length on poison pill function
arv [Wed, 15 Apr 2015 17:15:32 +0000 (10:15 -0700)]
Fix issues with name and length on poison pill function

In ES6 function name and length are configurable. However, the length
and name properties of the poison pill function must not be
configurable.

BUG=v8:4011
LOG=N
R=adamk@chromium.org, rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#27855}

9 years agoMake BitsetType enum uint32_t to avoid narrowing warnings
scottmg [Wed, 15 Apr 2015 16:31:43 +0000 (09:31 -0700)]
Make BitsetType enum uint32_t to avoid narrowing warnings

enum defaults to signed on win, and kTagged has 1<<31 causing
warning.

Full errors:

d:\src\cr3\src\v8\src\types.cc(1259): error C2220: warning treated as error - no 'object' file generated
d:\src\cr3\src\v8\src\types.cc(1241): note: while compiling class template member function 'void v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::BitsetType::Print(std::ostream &,v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::bitset)'
d:\src\cr3\src\v8\src\types.cc(1283): note: see reference to function template instantiation 'void v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::BitsetType::Print(std::ostream &,v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::bitset)' being compiled
d:\src\cr3\src\v8\src\types.cc(1355): note: see reference to class template instantiation 'v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::BitsetType' being compiled
d:\src\cr3\src\v8\src\types.cc(1259): warning C4838: conversion from 'int' to 'const v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::bitset' requires a narrowing conversion
d:\src\cr3\src\v8\src\types.cc(1259): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
d:\src\cr3\src\v8\src\types.cc(323): warning C4838: conversion from '' to 'v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::bitset' requires a narrowing conversion
d:\src\cr3\src\v8\src\types.cc(323): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
d:\src\cr3\src\v8\src\types.cc(315): note: while compiling class template static data member 'const v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::BitsetType::Boundary v8::internal::TypeImpl<v8::internal::ZoneTypeConfig>::BitsetType::BoundariesArray[]'
d:\src\cr3\src\v8\src\types.cc(1259): warning C4838: conversion from 'int' to 'const v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::bitset' requires a narrowing conversion
d:\src\cr3\src\v8\src\types.cc(1259): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
d:\src\cr3\src\v8\src\types.cc(1241): note: while compiling class template member function 'void v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::BitsetType::Print(std::ostream &,v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::bitset)'
d:\src\cr3\src\v8\src\types.cc(1283): note: see reference to function template instantiation 'void v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::BitsetType::Print(std::ostream &,v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::bitset)' being compiled
d:\src\cr3\src\v8\src\types.cc(1359): note: see reference to class template instantiation 'v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::BitsetType' being compiled
d:\src\cr3\src\v8\src\types.cc(323): warning C4838: conversion from '' to 'v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::bitset' requires a narrowing conversion
d:\src\cr3\src\v8\src\types.cc(323): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
d:\src\cr3\src\v8\src\types.cc(315): note: while compiling class template static data member 'const v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::BitsetType::Boundary v8::internal::TypeImpl<v8::internal::HeapTypeConfig>::BitsetType::BoundariesArray[]'

LOG=N
R=jochen@chromium.org
BUG=440500

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

Cr-Commit-Position: refs/heads/master@{#27854}

9 years agoRemove operator delete on VS2015 to avoid compiler bug
scottmg [Wed, 15 Apr 2015 16:23:31 +0000 (09:23 -0700)]
Remove operator delete on VS2015 to avoid compiler bug

LOG=N
R=jochen@chromium.org
BUG=chromium:440500

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

Cr-Commit-Position: refs/heads/master@{#27853}

9 years agoMakefile: introduce debugsymbols=on flag
Jakob Kummerow [Wed, 15 Apr 2015 15:20:14 +0000 (17:20 +0200)]
Makefile: introduce debugsymbols=on flag

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27852}

9 years agoReduce regexp compiler stack size when not optimizing regexps
erikcorry [Wed, 15 Apr 2015 15:15:58 +0000 (08:15 -0700)]
Reduce regexp compiler stack size when not optimizing regexps

R=jkummerow@chromium.org
BUG=chromium:475705
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27851}

9 years agoPPC: VectorICs: megamorphic keyed loads in crankshaft don't need a vector.
mbrandy [Wed, 15 Apr 2015 14:44:00 +0000 (07:44 -0700)]
PPC: VectorICs: megamorphic keyed loads in crankshaft don't need a vector.

Port c8e4d57d3b3036a05902f5b916cb5d853a57393c

Original commit message:
They are content with a dummy vector, as MISSES won't result in
changing the real vector/slot at all.

R=mvstanton@chromium.org, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27850}

9 years agoPPC: Use Cells to check prototype chain validity (disabled by default).
mbrandy [Wed, 15 Apr 2015 14:39:58 +0000 (07:39 -0700)]
PPC: Use Cells to check prototype chain validity (disabled by default).

Port 0179ec57975c5063bbecd98e11cdda77ddad8996

Original commit message:
The cells are stored on prototypes (in their map's PrototypeInfo). When a prototype object changes its map, then both its own validity cell and those of all "downstream" prototypes are invalidated; handlers for a given receiver embed the currently valid cell for that receiver's prototype during their compilation and check it on execution.

R=michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27849}

9 years agoFix a few potential integer negation overflows
jkummerow [Wed, 15 Apr 2015 13:55:26 +0000 (06:55 -0700)]
Fix a few potential integer negation overflows

AFAICT none of these can actually be triggered currently; but it's still good to harden the code a little.

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

Cr-Commit-Position: refs/heads/master@{#27848}

9 years agoSimplify DoParseProgram
wingo [Wed, 15 Apr 2015 13:42:28 +0000 (06:42 -0700)]
Simplify DoParseProgram

DoParseProgram doesn't appear to need to receive toplevel scopes as
arguments; it can properly set the end_position of the scopes to the
scanner's position after parsing is complete.

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

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

Cr-Commit-Position: refs/heads/master@{#27847}

9 years ago[turbofan] Fix ForInStatement that deopts during filter.
mstarzinger [Wed, 15 Apr 2015 13:12:13 +0000 (06:12 -0700)]
[turbofan] Fix ForInStatement that deopts during filter.

This adds a missing bailout id to a ForInStatement for when retrieving
and filtering a property name deoptimizes. This can happen with proxies
that have a getPropertyDescriptor trap.

R=jarin@chromium.org
TEST=mjsunit/for-in-opt

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

Cr-Commit-Position: refs/heads/master@{#27846}

9 years agoUse Cells to check prototype chain validity (disabled by default).
jkummerow [Wed, 15 Apr 2015 12:53:31 +0000 (05:53 -0700)]
Use Cells to check prototype chain validity (disabled by default).

The cells are stored on prototypes (in their map's PrototypeInfo). When a prototype object changes its map, then both its own validity cell and those of all "downstream" prototypes are invalidated; handlers for a given receiver embed the currently valid cell for that receiver's prototype during their compilation and check it on execution.

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

Cr-Commit-Position: refs/heads/master@{#27845}

9 years agoVectorICs: recent changes broke cases with --novector-ics
mvstanton [Wed, 15 Apr 2015 12:49:58 +0000 (05:49 -0700)]
VectorICs: recent changes broke cases with --novector-ics

Ensure that we protect turning off the vector ics flag.

BUG=
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27844}

9 years ago[crankshaft] Add missing source position for calls.
mstarzinger [Wed, 15 Apr 2015 12:48:51 +0000 (05:48 -0700)]
[crankshaft] Add missing source position for calls.

R=verwaest@chromium.org
TEST=cctest/test-api
BUG=v8:3995
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27843}

9 years ago[turbofan] cleanup ParallelMove
dcarney [Wed, 15 Apr 2015 12:36:36 +0000 (05:36 -0700)]
[turbofan] cleanup ParallelMove

- make ParallelMove into a ZoneVector, removing an annoying level of indirection
- make MoveOperands hold InstructionOperands instead of pointers, so there's no more operand aliasing for moves
- opens up possibility of storing MachineType in allocated operands

R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27842}

9 years agoRetrieval of information by release channel
hablich [Wed, 15 Apr 2015 12:25:28 +0000 (05:25 -0700)]
Retrieval of information by release channel

Polls omahaproxy for data about Chrome releases

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27841}

9 years agoMake climit and jslimit stack limits atomic.
ulan [Wed, 15 Apr 2015 11:37:07 +0000 (04:37 -0700)]
Make climit and jslimit stack limits atomic.

This fixes TSAN failure caused by race between:
 - optimizing compiler thread setting climit
 - and json parser reading climit in the main thread.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27840}

9 years agoReland "Wrap typed array implementations in functions."
yangguo [Wed, 15 Apr 2015 10:36:20 +0000 (03:36 -0700)]
Reland "Wrap typed array implementations in functions."

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27839}

9 years agoAbort incremental marking in test-heap/WeakCellsWithIncrementalMarking.
yangguo [Wed, 15 Apr 2015 10:08:26 +0000 (03:08 -0700)]
Abort incremental marking in test-heap/WeakCellsWithIncrementalMarking.

R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27838}

9 years agoCorrectly handle clearing of deprecated field types.
ulan [Wed, 15 Apr 2015 09:55:40 +0000 (02:55 -0700)]
Correctly handle clearing of deprecated field types.

BUG=v8:4027
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#27837}

9 years ago[turbofan] Add schedule to visualizer output
danno [Wed, 15 Apr 2015 09:33:28 +0000 (02:33 -0700)]
[turbofan] Add schedule to visualizer output

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

Cr-Commit-Position: refs/heads/master@{#27836}

9 years agoPut --noalways-opt flag back into regress-crbug-245480
jkummerow [Wed, 15 Apr 2015 09:31:46 +0000 (02:31 -0700)]
Put --noalways-opt flag back into regress-crbug-245480

This is a partial revert of 3eb277f270b9d41967e7ac208ec3fe8ef233761a.

R=machenbach@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27835}

9 years agoRevert of Force full GCwhenever CollectAllGarbage is meant to trigger a full GC....
machenbach [Wed, 15 Apr 2015 09:07:26 +0000 (02:07 -0700)]
Revert of Force full GCwhenever CollectAllGarbage is meant to trigger a full GC. (patchset #4 id:60001 of https://codereview.chromium.org/1082973003/)

Reason for revert:
[Sheriff] Breaks http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3348 and maybe leads to timeouts/crashes on layout test bots:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/3002

Original issue's description:
> Force full GC whenever CollectAllGarbage is meant to trigger a full GC.
>
> Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site.
>
> Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC.
>
> BUG=
>
> Committed: https://crrev.com/9c105f0940ba757364ac18fcdf649815ec5ab2d1
> Cr-Commit-Position: refs/heads/master@{#27831}

TBR=ulan@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27834}

9 years agoRemove support for specifying the number of available threads
jochen [Wed, 15 Apr 2015 07:15:52 +0000 (00:15 -0700)]
Remove support for specifying the number of available threads

The embedder can control how many threads it wants to use via the
v8::Platform implementation. V8 internally doesn't spin up threads
anymore. If the embedder doesn't want to use any threads at all, it's
v8::Platform implementation must either run the background jobs on
the foreground thread, or the embedder should specify --predictable

BUG=none
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27833}

9 years agoWhen converting Maybe and MaybeLocal values with a check, always check
jochen [Wed, 15 Apr 2015 07:11:54 +0000 (00:11 -0700)]
When converting Maybe and MaybeLocal values with a check, always check

An embedder that wants to avoid the check should use MaybeLocal::ToLocal.

BUG=none
R=dcarney@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27832}

9 years agoForce full GC whenever CollectAllGarbage is meant to trigger a full GC.
hpayer [Wed, 15 Apr 2015 07:10:47 +0000 (00:10 -0700)]
Force full GC whenever CollectAllGarbage is meant to trigger a full GC.

Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site.

Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27831}

9 years agoAdded Donald Stence to PPC owners.
svenpanne [Wed, 15 Apr 2015 07:00:17 +0000 (00:00 -0700)]
Added Donald Stence to PPC owners.

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

Cr-Commit-Position: refs/heads/master@{#27830}

9 years ago[x64] Use xorl to materialize smi zero.
bmeurer [Wed, 15 Apr 2015 06:13:48 +0000 (23:13 -0700)]
[x64] Use xorl to materialize smi zero.

Before we always loaded smi zero via a movabs with a 64-bit immediate,
which is pretty expensive compared to the xorl.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27829}

9 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 15 Apr 2015 03:28:45 +0000 (20:28 -0700)]
Update V8 DEPS.

Rolling v8/build/gyp to 2a5511bd901f328db10d0b6415c864a5ff59fc81

Rolling v8/tools/clang to 330d3b5bd0ecf77d0d612081ba058ba01adfb67b

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27828}

9 years agoVectorICs: megamorphic keyed loads in crankshaft don't need a vector.
mvstanton [Wed, 15 Apr 2015 02:35:39 +0000 (19:35 -0700)]
VectorICs: megamorphic keyed loads in crankshaft don't need a vector.

This needs "Pass load ic state through the Oracle"
(https://codereview.chromium.org/1083933002/) to land first.

BUG=
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27827}

9 years agoPass load ic state through the Oracle.
mvstanton [Wed, 15 Apr 2015 01:24:40 +0000 (18:24 -0700)]
Pass load ic state through the Oracle.

We'd like to know in optimized code with more precision what feedback
state was achieved for a load.

R=dcarney@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27826}

9 years agoMIPS: [turbofan] Load immortal heap objects from the heap roots.
paul.lind [Tue, 14 Apr 2015 16:39:49 +0000 (09:39 -0700)]
MIPS: [turbofan] Load immortal heap objects from the heap roots.

Port 5d2de78a771b8ff1ac59fbdf634bffd01709b554

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27825}

9 years agoAllow eval/arguments in arrow functions
wingo [Tue, 14 Apr 2015 15:37:20 +0000 (08:37 -0700)]
Allow eval/arguments in arrow functions

R=arv@chromium.org, adamk@chromium.org, marja@chromium.org
BUG=v8:4020
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27824}

9 years agoPPC: [turbofan] Load immortal heap objects from the heap roots.
mbrandy [Tue, 14 Apr 2015 15:17:29 +0000 (08:17 -0700)]
PPC: [turbofan] Load immortal heap objects from the heap roots.

Port 5d2de78a771b8ff1ac59fbdf634bffd01709b554

Original commit message:
It's cheaper to materialize heap constants by loading from the roots
array instead of embedding the constant into the instruction stream, at
least on x64, arm and arm64.

Drive-by-fix: Also cleanup the materialize constant from frame
optimization.

R=michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27823}

9 years ago%GetOptimizationStatus(): Unconditionally return a sentinel when --always-opt is...
jkummerow [Tue, 14 Apr 2015 14:57:56 +0000 (07:57 -0700)]
%GetOptimizationStatus(): Unconditionally return a sentinel when --always-opt is present

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

Cr-Commit-Position: refs/heads/master@{#27822}

9 years agoReland "Remove support for thread-based recompilation"
jochen [Tue, 14 Apr 2015 13:57:35 +0000 (06:57 -0700)]
Reland "Remove support for thread-based recompilation"

Original issue's description:
> Remove support for thread-based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/ed5db223a19dfe126af01
> Cr-Commit-Position: refs/heads/master@{#27619}

BUG=v8:3608
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27821}

9 years ago[cq] Add mips compile trybots.
machenbach [Tue, 14 Apr 2015 13:43:37 +0000 (06:43 -0700)]
[cq] Add mips compile trybots.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27820}

9 years agoInsert a filler at the new space top even if the top is at the limit.
jarin [Tue, 14 Apr 2015 13:42:30 +0000 (06:42 -0700)]
Insert a filler at the new space top even if the top is at the limit.

BUG=chromium:470390
R=hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27819}

9 years ago[turbofan] Load immortal heap objects from the heap roots.
bmeurer [Tue, 14 Apr 2015 12:50:43 +0000 (05:50 -0700)]
[turbofan] Load immortal heap objects from the heap roots.

It's cheaper to materialize heap constants by loading from the roots
array instead of embedding the constant into the instruction stream, at
least on x64, arm and arm64.

Drive-by-fix: Also cleanup the materialize constant from frame
optimization.

R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27818}

9 years agoVectorICs: recreate feedback vector if scoping changes on recompile.
mvstanton [Tue, 14 Apr 2015 12:31:33 +0000 (05:31 -0700)]
VectorICs: recreate feedback vector if scoping changes on recompile.

BUG=476488
LOG=N
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27817}

9 years agoRevert of Reland "Remove support for thread-based recompilation" (patchset #1 id...
jochen [Tue, 14 Apr 2015 12:29:27 +0000 (05:29 -0700)]
Revert of Reland "Remove support for thread-based recompilation" (patchset #1 id:1 of https://codereview.chromium.org/1059853004/)

Reason for revert:
still times out

Original issue's description:
> Reland "Remove support for thread-based recompilation"
>
> Original issue's description:
> > Remove support for thread-based recompilation
> >
> > BUG=v8:3608
> > R=yangguo@chromium.org
> > LOG=y
> >
> > Committed: https://crrev.com/ed5db223a19dfe126af012e894582251aa3635d7
> > Cr-Commit-Position: refs/heads/master@{#27619}
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/f1ceccb8b8b352a91e6366e3e3103f1db0df6afb
> Cr-Commit-Position: refs/heads/master@{#27813}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608

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

Cr-Commit-Position: refs/heads/master@{#27816}

9 years agoFix Math.log10 implementation for 1 - Number.EPSILON.
yangguo [Tue, 14 Apr 2015 11:56:09 +0000 (04:56 -0700)]
Fix Math.log10 implementation for 1 - Number.EPSILON.

R=svenpanne@chromium.org
BUG=v8:4025
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27815}

9 years agoRevert "Remove early bail-out in VisitWeakList to investigate chrasher."
jochen [Tue, 14 Apr 2015 10:55:22 +0000 (03:55 -0700)]
Revert "Remove early bail-out in VisitWeakList to investigate chrasher."

>  BUG=468601
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/1016353002
>
>  Cr-Commit-Position: refs/heads/master@{#27317}

R=hpayer@chromium.org
BUG=v8:3996,chromium:468601
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27814}

9 years agoReland "Remove support for thread-based recompilation"
jochen [Tue, 14 Apr 2015 10:26:41 +0000 (03:26 -0700)]
Reland "Remove support for thread-based recompilation"

Original issue's description:
> Remove support for thread-based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/ed5db223a19dfe126af012e894582251aa3635d7
> Cr-Commit-Position: refs/heads/master@{#27619}

BUG=v8:3608
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27813}

9 years agoAdd a test for subclass maps.
dslomov [Tue, 14 Apr 2015 09:59:07 +0000 (02:59 -0700)]
Add a test for subclass maps.

R=arv@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27812}

9 years agoPut newly allocated buffers at the right end of the buffers list
jochen [Tue, 14 Apr 2015 09:26:13 +0000 (02:26 -0700)]
Put newly allocated buffers at the right end of the buffers list

If a major gc happens between allocation and initialization of the
buffer, it might be already in old space. Since we need the list of
buffers to be sorted from new to old, we keep track of the last buffer
and put old buffers to the end

BUG=chromium:476032
R=hpayer@chromium.org,dslomov@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27811}

9 years agoRevert of Revert of Revert of Wrap typed array implementations in functions. (patchse...
yangguo [Tue, 14 Apr 2015 09:24:34 +0000 (02:24 -0700)]
Revert of Revert of Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/1083013002/)

Reason for revert:
Seems to still break those tests.

Original issue's description:
> Revert of Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/1086683002/)
>
> Reason for revert:
> I don't think this is the cause.
>
> Original issue's description:
> > Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/1082703003/)
> >
> > Reason for revert:
> > [Sheriff] Flaky nosnap failures:
> > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%201/builds/1720
> > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3312
> > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3313
> >
> > Original issue's description:
> > > Wrap typed array implementations in functions.
> > >
> > > R=mvstanton@chromium.org
> > >
> > > Committed: https://crrev.com/6fc394a15614b74776f9bbeeb0486f430bdc8597
> > > Cr-Commit-Position: refs/heads/master@{#27784}
> >
> > TBR=mvstanton@chromium.org,yangguo@chromium.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://crrev.com/8e3fa7adf20f4f9c9125076a878d601eee7c9f35
> > Cr-Commit-Position: refs/heads/master@{#27789}
>
> TBR=mvstanton@chromium.org,machenbach@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/d7fe3b83f5dfa997f0c8a29436a22b999dc49a76
> Cr-Commit-Position: refs/heads/master@{#27803}

TBR=mvstanton@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27810}

9 years agoAvoid modifying the real context chain for debug evaluation.
dslomov [Tue, 14 Apr 2015 09:08:02 +0000 (02:08 -0700)]
Avoid modifying the real context chain for debug evaluation.

Instead of modifying a context chain and then modifying it back, causing
potential mismatches, we clone the inner context chain and evaluate
the expression in this cloned context. We then copy all local variable
values back if needed.

R=yangguo@chromium.org,yurys@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27809}