platform/upstream/v8.git
10 years agoIn PrepareForBreakPoints, also purge shared function info not referenced by functions.
yangguo@chromium.org [Wed, 29 Oct 2014 08:11:07 +0000 (08:11 +0000)]
In PrepareForBreakPoints, also purge shared function info not referenced by functions.

R=ulan@chromium.org
BUG=chromium:424142
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#24964}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Classes: Add basic support for properties.
weiliang.lin@intel.com [Wed, 29 Oct 2014 08:01:07 +0000 (08:01 +0000)]
X87: Classes: Add basic support for properties.

commit r24934.

original commit message:

  This adds the properties to the prototype and the constructor.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#24963}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix gn.
machenbach@chromium.org [Wed, 29 Oct 2014 07:34:12 +0000 (07:34 +0000)]
Fix gn.

TBR=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24962}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Use shared function info for eval cache key.
weiliang.lin@intel.com [Wed, 29 Oct 2014 07:19:42 +0000 (07:19 +0000)]
X87: Use shared function info for eval cache key.

port r24927.

original commit message:

 Use shared function info for eval cache key.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#24961}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevoke my own OWNERS bit.
vegorov@chromium.org [Tue, 28 Oct 2014 23:47:32 +0000 (23:47 +0000)]
Revoke my own OWNERS bit.

TBR=jkumerrow@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24960}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoChange cast to String to cast to Symbol in heap-snapshot-generator.
dslomov@chromium.org [Tue, 28 Oct 2014 18:08:59 +0000 (18:08 +0000)]
Change cast to String to cast to Symbol in heap-snapshot-generator.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24959}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix windows build.
titzer@chromium.org [Tue, 28 Oct 2014 17:54:41 +0000 (17:54 +0000)]
Fix windows build.

TBR=ishell@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24958}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement loop variable assignment analysis.
titzer@chromium.org [Tue, 28 Oct 2014 17:29:41 +0000 (17:29 +0000)]
Implement loop variable assignment analysis.

This analysis computes the set of variables that are assigned in each loop. This is useful to avoid creating redundant loop phis when building an SSA graph, which just waste memory and require analysis to get rid of.

This CL implements an AST walk for the analysis and plugs the result into the TurboFan graph builder. I left this analysis under a flag for A/B testing and until sufficient unit tests can be developed.

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

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

Cr-Commit-Position: refs/heads/master@{#24957}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: [turbofan] Complete support for integer division/modulus in simplified lowering.
balazs.kilvady@imgtec.com [Tue, 28 Oct 2014 16:54:35 +0000 (16:54 +0000)]
MIPS: [turbofan] Complete support for integer division/modulus in simplified lowering.

Port r24942 (c5055ce)

Original commit message:
Also add backend flags that tell whether integer division/modulus is
generally safe, i.e. does not trap on overflow or divide by zero.

TEST=unittests
BUG=
R=dusan.milosavljevic@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24956}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert r24737 "Read object pointer atomically while updating slots"
ulan@chromium.org [Tue, 28 Oct 2014 16:43:34 +0000 (16:43 +0000)]
Revert r24737 "Read object pointer atomically while updating slots"

That broke webkit_unit_tests on ARM64.

BUG=chromium:427746
LOG=Y
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24955}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeap profiler clean-up: remove dead code
yurys@chromium.org [Tue, 28 Oct 2014 16:31:43 +0000 (16:31 +0000)]
Heap profiler clean-up: remove dead code

R=yangguo@chromium.org, loislo@chromium.org
LOG=N
BUG=Non

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

Cr-Commit-Position: refs/heads/master@{#24954}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable OOL constant pool for Arm.
rmcilroy@chromium.org [Tue, 28 Oct 2014 16:25:36 +0000 (16:25 +0000)]
Disable OOL constant pool for Arm.

This caused some performance regressions on Octane.

R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24953}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce FeedbackNexus for vector-based ics.
mvstanton@chromium.org [Tue, 28 Oct 2014 16:05:08 +0000 (16:05 +0000)]
Introduce FeedbackNexus for vector-based ics.

A FeedbackNexus is the combination of a feedback vector, a slot(s) in
the vector, along with methods to query and manipulate that information
in a type-correct way.

A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc.,
reflecting the fact that different types of ICs configure their data
in unique ways.

This CL limits itself to introducing and using the nexus type only for
CallICs. A follow-up will use them for Load and KeyedLoadICs for the
case when the --vector-ics flag is turned on.

The notion of a Nexus is also embedded at the lowest level of the IC
class. This makes sense because more ICs should become vector-based
in the future.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24952}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Classes: Add basic support for properties
balazs.kilvady@imgtec.com [Tue, 28 Oct 2014 15:44:52 +0000 (15:44 +0000)]
MIPS: Classes: Add basic support for properties

Port r24934 (279833c)

Original commit message:
This adds the properties to the prototype and the constructor.

BUG=v8:3330
LOG=Y
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24951}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Use shared function info for eval cache key.
balazs.kilvady@imgtec.com [Tue, 28 Oct 2014 15:43:31 +0000 (15:43 +0000)]
MIPS: Use shared function info for eval cache key.

Port r24927 (244472a)

BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24950}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd ARMv8 detection in CpuFeatures.
sigurds@chromium.org [Tue, 28 Oct 2014 15:22:22 +0000 (15:22 +0000)]
Add ARMv8 detection in CpuFeatures.

R=rodolph.perfetta@arm.com, ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24949}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Heap profiler clean-up: remove unused methods"
yurys@chromium.org [Tue, 28 Oct 2014 15:12:12 +0000 (15:12 +0000)]
Revert "Heap profiler clean-up: remove unused methods"

This reverts commit 63fd24a7c0782ccc3221803e3a2740f1e1b92ceb. Broke compilation on Mac.

TBR=loislo@chromium.org, yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24948}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Introduce FeedbackNexus for vector-based ics."
mvstanton@chromium.org [Tue, 28 Oct 2014 15:07:38 +0000 (15:07 +0000)]
Revert "Introduce FeedbackNexus for vector-based ics."

This reverts commit r24945.

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24947}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeap profiler clean-up: remove unused methods
yurys@chromium.org [Tue, 28 Oct 2014 14:53:53 +0000 (14:53 +0000)]
Heap profiler clean-up: remove unused methods

LOG=N
BUG=None
R=loislo@chromium.org, yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24946}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce FeedbackNexus for vector-based ics.
mvstanton@chromium.org [Tue, 28 Oct 2014 14:50:18 +0000 (14:50 +0000)]
Introduce FeedbackNexus for vector-based ics.

A FeedbackNexus is the combination of a feedback vector, a slot(s) in
the vector, along with methods to query and manipulate that information
in a type-correct way.

A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc.,
reflecting the fact that different types of ICs configure their data
in unique ways.

This CL limits itself to introducing and using the nexus type only for
CallICs. A follow-up will use them for Load and KeyedLoadICs for the
case when the --vector-ics flag is turned on.

The notion of a Nexus is also embedded at the lowest level of the IC
class. This makes sense because more ICs should become vector-based
in the future.

This CL is based on https://codereview.chromium.org/679073002/ which
should land first.

BUG=
R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24945}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Skip tests that fail with TF on arm64.
machenbach@chromium.org [Tue, 28 Oct 2014 14:47:32 +0000 (14:47 +0000)]
[Sheriff] Skip tests that fail with TF on arm64.

TBR=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24944}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoClasses: Add more tests for prototype edge cases
arv@chromium.org [Tue, 28 Oct 2014 14:12:18 +0000 (14:12 +0000)]
Classes: Add more tests for prototype edge cases

BUG=3655
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24943}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Complete support for integer division/modulus in simplified lowering.
bmeurer@chromium.org [Tue, 28 Oct 2014 13:56:26 +0000 (13:56 +0000)]
[turbofan] Complete support for integer division/modulus in simplified lowering.

Also add backend flags that tell whether integer division/modulus is
generally safe, i.e. does not trap on overflow or divide by zero.

TEST=unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24942}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse a simpler KeyedStoreGeneric stub
jkummerow@chromium.org [Tue, 28 Oct 2014 13:53:53 +0000 (13:53 +0000)]
Use a simpler KeyedStoreGeneric stub

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24941}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImprove branch creation in release scripts.
machenbach@chromium.org [Tue, 28 Oct 2014 13:42:58 +0000 (13:42 +0000)]
Improve branch creation in release scripts.

Use 'git new-branch' for creating new branches.

BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24940}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoClasses: Add test for method prototype
arv@chromium.org [Tue, 28 Oct 2014 13:39:41 +0000 (13:39 +0000)]
Classes: Add test for method prototype

Methods should not have a prototype property

BUG=v8:3330
LOG=y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24939}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGet stack trace for uncaught exceptions/promise rejections from the simple stack...
aandrey@chromium.org [Tue, 28 Oct 2014 13:24:36 +0000 (13:24 +0000)]
Get stack trace for uncaught exceptions/promise rejections from the simple stack when available.

We can convert simple stack trace of an Error object to the detailed stack that
is used for debugging. Do so when available, and only then fall back to
reporting stack trace at throw site.

R=yangguo@chromium.org, Yang
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#24938}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove AST node counting to post-pass
wingo@igalia.com [Tue, 28 Oct 2014 13:23:54 +0000 (13:23 +0000)]
Move AST node counting to post-pass

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

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

Cr-Commit-Position: refs/heads/master@{#24937}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSilence control reducer tracing a bit.
mstarzinger@chromium.org [Tue, 28 Oct 2014 13:14:53 +0000 (13:14 +0000)]
Silence control reducer tracing a bit.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24936}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] LoadElement should not have a control input.
bmeurer@chromium.org [Tue, 28 Oct 2014 13:00:11 +0000 (13:00 +0000)]
[turbofan] LoadElement should not have a control input.

TEST=unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24935}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoClasses: Add basic support for properties
arv@chromium.org [Tue, 28 Oct 2014 12:43:05 +0000 (12:43 +0000)]
Classes: Add basic support for properties

This adds the properties to the prototype and the constructor.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24934}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow duplicate property names in classes
arv@chromium.org [Tue, 28 Oct 2014 12:23:26 +0000 (12:23 +0000)]
Allow duplicate property names in classes

ES6 no longer makes duplicate properties an error. However, we
continue to treat duplicate properties in strict mode object
literals as errors. With this change we allow duplicate properties
in class bodies. We continue to flag duplicate constructors as an
error as required by ES6.

BUG=v8:3570
LOG=Y
R=marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24933}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved non-existent files from gyp and GN builds.
mvstanton@chromium.org [Tue, 28 Oct 2014 12:09:48 +0000 (12:09 +0000)]
Removed non-existent files from gyp and GN builds.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24932}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Reduce (x & K) & K to x & K.
bmeurer@chromium.org [Tue, 28 Oct 2014 11:57:20 +0000 (11:57 +0000)]
[turbofan] Reduce (x & K) & K to x & K.

TEST=unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24931}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake floating merges respected minimum RPO of coupled phis.
mstarzinger@chromium.org [Tue, 28 Oct 2014 11:38:22 +0000 (11:38 +0000)]
Make floating merges respected minimum RPO of coupled phis.

R=bmeurer@chromium.org, jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond

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

Cr-Commit-Position: refs/heads/master@{#24930}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse shared function info for eval cache key.
yangguo@chromium.org [Tue, 28 Oct 2014 10:00:37 +0000 (10:00 +0000)]
Use shared function info for eval cache key.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24927}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Work-around stack overflow in zlib.
bmeurer@chromium.org [Tue, 28 Oct 2014 09:54:00 +0000 (09:54 +0000)]
[turbofan] Work-around stack overflow in zlib.

TBR=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24926}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrevent recursion in the debug event listener.
yangguo@chromium.org [Tue, 28 Oct 2014 09:44:16 +0000 (09:44 +0000)]
Prevent recursion in the debug event listener.

R=ulan@chromium.org
BUG=chromium:409614
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#24924}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSwitch schedule early phase to use forward propagation.
mstarzinger@chromium.org [Tue, 28 Oct 2014 09:34:35 +0000 (09:34 +0000)]
Switch schedule early phase to use forward propagation.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24923}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWindows: use SystemTimeToTzSpecificLocalTime instead of localtime_s.
ulan@chromium.org [Tue, 28 Oct 2014 08:55:28 +0000 (08:55 +0000)]
Windows: use SystemTimeToTzSpecificLocalTime instead of localtime_s.

The localtime_s function produces incorrect results for russian time zone.

BUG=chromium:417640
LOG=Y
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24922}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agomove functions in v8::V8 that should be on v8::Isolate
dcarney@chromium.org [Tue, 28 Oct 2014 08:43:15 +0000 (08:43 +0000)]
move functions in v8::V8 that should be on v8::Isolate

R=marja@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#24921}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix ASAN warning.
mvstanton@chromium.org [Tue, 28 Oct 2014 08:34:11 +0000 (08:34 +0000)]
Fix ASAN warning.

BUG=
TBR=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24920}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Improve typed lowering for JSToBoolean.
bmeurer@chromium.org [Tue, 28 Oct 2014 08:33:52 +0000 (08:33 +0000)]
[turbofan] Improve typed lowering for JSToBoolean.

- JSToBoolean(x:string) => BooleanNot(NumberEqual(x.length, #0))
- JSToBoolean(phi(x1,...,xn):primitive) => phi(JSToBoolean(x1),...,JSToBoolean(xn))

TEST=cctest,mjsunit/asm/do-while,mjsunit/boolean,unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24919}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Turn slow case for stack check into deferred code.
bmeurer@chromium.org [Tue, 28 Oct 2014 08:33:03 +0000 (08:33 +0000)]
[turbofan] Turn slow case for stack check into deferred code.

R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24918}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Minor cleanups to lowering of typed array loads/stores.
bmeurer@chromium.org [Tue, 28 Oct 2014 08:28:36 +0000 (08:28 +0000)]
[turbofan] Minor cleanups to lowering of typed array loads/stores.

TEST=unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24917}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "[turbofan] Merge GenericNode with Node."
jarin@chromium.org [Mon, 27 Oct 2014 22:33:52 +0000 (22:33 +0000)]
Revert "[turbofan] Merge GenericNode with Node."

This reverts commit a238443c00ebbd8afb48ee7ad336e0ff163c84b5 (r24915)
for tanking benchmarks.

TBR=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24916}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Merge GenericNode with Node.
jarin@chromium.org [Mon, 27 Oct 2014 20:36:56 +0000 (20:36 +0000)]
[turbofan] Merge GenericNode with Node.

BUG=
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24915}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake NextCodeLink pointer 8-byte aligned after GC pointer updating uses atomics.
dusan.milosavljevic@imgtec.com [Mon, 27 Oct 2014 18:24:05 +0000 (18:24 +0000)]
Make NextCodeLink pointer 8-byte aligned after GC pointer updating uses atomics.

After r24737 pointer updating is done by atomic operations which strictly
require target address to be 8-byte alignment on MIPS64.

The alignment is broken on 64-bit arches because InstructionSize is first field
and has Int size.

Order of fields in object layout are changed to make kNextCodeLinkOffset
divisible by 8. The size of code object header remains the same.

TEST=cctest/test-debug/* on MIPS64
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24914}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix for the cctest compilation issue on Mac after r24911.
ishell@chromium.org [Mon, 27 Oct 2014 16:58:38 +0000 (16:58 +0000)]
Fix for the cctest compilation issue on Mac after r24911.

TBR=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24913}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd serializer test case to bug fix in r24871.
yangguo@chromium.org [Mon, 27 Oct 2014 16:40:04 +0000 (16:40 +0000)]
Add serializer test case to bug fix in r24871.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24912}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA type vector with multiple IC types needs metadata.
mvstanton@chromium.org [Mon, 27 Oct 2014 16:34:28 +0000 (16:34 +0000)]
A type vector with multiple IC types needs metadata.

This CL adds a bitset to describe the type of IC in each IC slot.
This is necessary for clearing ICs of different types.

With FLAG_vector_ics off (the current state), it's not required because
CALL_IC is the only type of IC in the vector.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24911}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Move AST node counting to post-pass"
wingo@igalia.com [Mon, 27 Oct 2014 16:25:11 +0000 (16:25 +0000)]
Revert "Move AST node counting to post-pass"

This reverts commit 698356720824559a6bd81c24be707b44ac277526 for
breaking regress-96526-002 among other things.

TBR=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24910}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove AST node counting to post-pass
wingo@igalia.com [Mon, 27 Oct 2014 15:00:09 +0000 (15:00 +0000)]
Move AST node counting to post-pass

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

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

Cr-Commit-Position: refs/heads/master@{#24909}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Enable turbofan deoptimization by default."
jarin@chromium.org [Mon, 27 Oct 2014 14:36:36 +0000 (14:36 +0000)]
Revert "Enable turbofan deoptimization by default."

This reverts commit 866032692ff59ac4282e6d1a483cbb52870cc784 for breaking
tests.

TBR=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24908}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimpleMove now calls [[Has]] before [[Get]] when moving elements
adamk@chromium.org [Mon, 27 Oct 2014 13:04:46 +0000 (13:04 +0000)]
SimpleMove now calls [[Has]] before [[Get]] when moving elements

BUG=v8:3643
LOG=n
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24907}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove unused return values from PreEdge visitor.
mstarzinger@chromium.org [Mon, 27 Oct 2014 12:57:50 +0000 (12:57 +0000)]
Remove unused return values from PreEdge visitor.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24906}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable turbofan deoptimization by default.
jarin@chromium.org [Mon, 27 Oct 2014 12:46:44 +0000 (12:46 +0000)]
Enable turbofan deoptimization by default.

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24905}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] reduce allocations outside of pipeline
dcarney@chromium.org [Mon, 27 Oct 2014 12:39:20 +0000 (12:39 +0000)]
[turbofan] reduce allocations outside of pipeline

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24904}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Make all references from root shortcuts (except one to GC roots)"
yurys@chromium.org [Mon, 27 Oct 2014 12:37:40 +0000 (12:37 +0000)]
Revert "Make all references from root shortcuts (except one to GC roots)"

This reverts commit 940418d2e1150499a28cca60b5dd138d351ec652. It resulted in orphan (Document DOM trees) and (Detached DOM trees) nodes.

BUG=chromium:414190
LOG=N
TBR=loislo@chromium.org, yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24903}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake all references from root shortcuts (except one to GC roots)
yurys@chromium.org [Mon, 27 Oct 2014 12:10:19 +0000 (12:10 +0000)]
Make all references from root shortcuts (except one to GC roots)

Eventually we are going to nuke this shortcuts from root entry altogether. This fix makes (GC roots) retained size equal to the snapshot's total size.

BUG=chromium:414190
LOG=N
R=loislo@chromium.org, yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24902}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert 'Introduce phantom weak handles in the API and use them internally for debug...
erikcorry@chromium.org [Mon, 27 Oct 2014 12:03:25 +0000 (12:03 +0000)]
Revert 'Introduce phantom weak handles in the API and use them internally for debug info'

Revert of https://codereview.chromium.org/649563006/ due to layout test
failures.
BUG=
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24901}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Limit the number of transitions allowed per hidden class." Due to crashes...
verwaest@chromium.org [Mon, 27 Oct 2014 11:57:58 +0000 (11:57 +0000)]
Revert "Limit the number of transitions allowed per hidden class." Due to crashes in ClearMapTransitions

BUG=
R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24900}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce phantom weak handles in the API and use them internally for debug info
erikcorry@chromium.org [Mon, 27 Oct 2014 11:04:33 +0000 (11:04 +0000)]
Introduce phantom weak handles in the API and use them internally for debug info

R=jochen@chromium.org, ulan@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24899}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix Win64 build after r24896
danno@chromium.org [Mon, 27 Oct 2014 10:29:52 +0000 (10:29 +0000)]
Fix Win64 build after r24896

TBR=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24898}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix non-TF targets after r24874.
akos.palfi@imgtec.com [Mon, 27 Oct 2014 10:29:20 +0000 (10:29 +0000)]
Fix non-TF targets after r24874.

Fix mips64 and presumably x87.

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

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

Patch from Paul Lind <paul.lind@imgtec.com>.

Cr-Commit-Position: refs/heads/master@{#24897}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Reduce memory consumption of graph building
danno@chromium.org [Mon, 27 Oct 2014 10:12:16 +0000 (10:12 +0000)]
[turbofan] Reduce memory consumption of graph building

Allow reservation of additional input capacity when creating nodes to prevent switching to deque representation when adding well-known additional inputs.

Also ensure that only a single temporary buffer is used to create temporary input arrays before allocating nodes.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24896}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] delete graph and schedule before register allocation.
dcarney@chromium.org [Mon, 27 Oct 2014 09:36:51 +0000 (09:36 +0000)]
[turbofan] delete graph and schedule before register allocation.

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

BUG=

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

Cr-Commit-Position: refs/heads/master@{#24894}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agopass isolate to Value::To* functions
dcarney@chromium.org [Mon, 27 Oct 2014 09:02:49 +0000 (09:02 +0000)]
pass isolate to Value::To* functions

BUG=
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24893}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] add absolute peak to stats
dcarney@chromium.org [Mon, 27 Oct 2014 08:58:55 +0000 (08:58 +0000)]
[turbofan] add absolute peak to stats

R=danno@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#24892}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement control reducer, which reduces branches and phis together in a single fixpoint.
titzer@chromium.org [Mon, 27 Oct 2014 08:41:32 +0000 (08:41 +0000)]
Implement control reducer, which reduces branches and phis together in a single fixpoint.

R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24891}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS64: Fix bug in super assignment from r24570.
paul.lind@imgtec.com [Sun, 26 Oct 2014 22:43:17 +0000 (22:43 +0000)]
MIPS64: Fix bug in super assignment from r24570.

TEST=mjsunit/harmony/super.js
BUG=
R=akos.palfi@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24889}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[turbofan] Implement the correct semantics for integer division/modulus.
bmeurer@chromium.org [Sun, 26 Oct 2014 12:49:56 +0000 (12:49 +0000)]
[turbofan] Implement the correct semantics for integer division/modulus.

Also fix the sdiv/udiv instructions on ARM as a nice side effect.

TEST=cctest,unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24888}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandle noi18n in deopt.
jarin@chromium.org [Sun, 26 Oct 2014 10:44:57 +0000 (10:44 +0000)]
Handle noi18n in deopt.

TBR=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24887}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd more missing deopts
jarin@chromium.org [Sun, 26 Oct 2014 10:24:49 +0000 (10:24 +0000)]
Add more missing deopts

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24886}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd remaining @@toStringTag symbols to builtins
dslomov@chromium.org [Fri, 24 Oct 2014 19:28:23 +0000 (19:28 +0000)]
Add remaining @@toStringTag symbols to builtins

R=dslomov@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#24885}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimpleSlice now calls [[Get]] before [[Has]] when generating copy
adamk@chromium.org [Fri, 24 Oct 2014 18:07:59 +0000 (18:07 +0000)]
SimpleSlice now calls [[Get]] before [[Has]] when generating copy

SparseSlice does not need this (non-optimal) reordering since its
callers guarantee that [[Get]] has no side effects on the passed-in array.

BUG=v8:3643
LOG=n
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24884}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWiden definition of %HasComplexElements() to include non-enumerability
adamk@chromium.org [Fri, 24 Oct 2014 18:04:03 +0000 (18:04 +0000)]
Widen definition of %HasComplexElements() to include non-enumerability

This avoids using the Sparse methods on objects with non-enumerable elements,
which can cause the 'enumerable: false' bit to get lost in the operation.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24883}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[arm64] Use logical immediates when matching tst instructions.
baptiste.afsa@arm.com [Fri, 24 Oct 2014 15:29:19 +0000 (15:29 +0000)]
[arm64] Use logical immediates when matching tst instructions.

R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24882}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix "jst" GDB macro
jkummerow@chromium.org [Fri, 24 Oct 2014 15:04:02 +0000 (15:04 +0000)]
Fix "jst" GDB macro

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24881}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck string literals with escapes in PreParserTraits::GetSymbol()
dslomov@chromium.org [Fri, 24 Oct 2014 15:02:29 +0000 (15:02 +0000)]
Check string literals with escapes in PreParserTraits::GetSymbol()

LOG=Y
BUG=v8:3606
R=arv@chromium.org, marja@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#24880}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change for testing gnumbd.
machenbach@chromium.org [Fri, 24 Oct 2014 14:40:43 +0000 (14:40 +0000)]
Whitespace change for testing gnumbd.

Cr-Commit-Position: refs/heads/master@{#24878}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix bugs in Scheduler hoisting and RPO loop bounds computations.
titzer@chromium.org [Fri, 24 Oct 2014 13:57:32 +0000 (13:57 +0000)]
Fix bugs in Scheduler hoisting and RPO loop bounds computations.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#24877}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd Schedule::InsertBranch to fuse control flow graphs.
mstarzinger@chromium.org [Fri, 24 Oct 2014 13:48:02 +0000 (13:48 +0000)]
Add Schedule::InsertBranch to fuse control flow graphs.

R=jarin@chromium.org
TEST=cctest/test-schedule/TestScheduleInsertBranch

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

Cr-Commit-Position: refs/heads/master@{#24876}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoonly define ARRAYSIZE_UNSAFE for NaCl builds
svenpanne@chromium.org [Fri, 24 Oct 2014 13:21:17 +0000 (13:21 +0000)]
only define ARRAYSIZE_UNSAFE for NaCl builds

Now that C++11 is allowed, we can use arraysize instead of
ARRAYSIZE_UNSAFE, except in NaCl builds.  So let's move this
macro inside an NaCl ifdef.

BUG=chromium:405225
LOG=y
R=jochen@chromium.org

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

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

Cr-Commit-Position: refs/heads/master@{#24875}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd Float64Floor, Float64Ceil, Float64RoundTruncate, Float64RoundTiesAway operators.
sigurds@chromium.org [Fri, 24 Oct 2014 13:06:48 +0000 (13:06 +0000)]
Add Float64Floor, Float64Ceil, Float64RoundTruncate, Float64RoundTiesAway operators.

These operators are not supported by any backends yet, and a backend is free to not support them.

R=bmeurer@chromium.org
TEST=unittest/machine-operator

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

Cr-Commit-Position: refs/heads/master@{#24874}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAstValueFactory: make true, false, null, undefined and "the hole" unique values.
marja@chromium.org [Fri, 24 Oct 2014 13:02:23 +0000 (13:02 +0000)]
AstValueFactory: make true, false, null, undefined and "the hole" unique values.

They were not, so we were creating several instances of them, one for each time
they occurred in the source code.

It's not known to have caused efficiency problems though, so this is a sanity
fix more than an efficiency fix.

Note that numbers are still not unique.

BUG=
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24873}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable --serialize-toplevel by default.
yangguo@chromium.org [Fri, 24 Oct 2014 12:41:52 +0000 (12:41 +0000)]
Enable --serialize-toplevel by default.

R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24872}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTweaks to the code serializer.
yangguo@chromium.org [Fri, 24 Oct 2014 12:40:05 +0000 (12:40 +0000)]
Tweaks to the code serializer.

- consider the source string as a special sort of back reference.
- use repeat op code for more root members.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24871}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTurboFan calls to vector-based ics need to resolve a slot to an index.
mvstanton@chromium.org [Fri, 24 Oct 2014 12:39:49 +0000 (12:39 +0000)]
TurboFan calls to vector-based ics need to resolve a slot to an index.

This is to cope with the recent division of the TypeFeedbackVector into
Slots and ICSlots.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24870}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImprove printing for Symbols.
mvstanton@chromium.org [Fri, 24 Oct 2014 12:36:45 +0000 (12:36 +0000)]
Improve printing for Symbols.

Private symbols we create in the heap don't have names, but we can
resolve them to a constant string.

This gives handy debugger output like:

(gdb) job 0x2020c67d
0x2020c67d: [Symbol]
 - hash: 547385396
 - name: 0x20208091 <undefined> (uninitialized_symbol)
 - private: 1
 - own: 1
$7 = void
(gdb)

or with ShortPrint() in an array:

...
  [5]: 0x2020c67d <Symbol: 547385396 (uninitialized_symbol)>
...

Printing help for internal symbols

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24869}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse memcpy in List::AddAll for fundamental types.
yangguo@chromium.org [Fri, 24 Oct 2014 12:33:58 +0000 (12:33 +0000)]
Use memcpy in List::AddAll for fundamental types.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24868}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGenerate fake basic block for Terminate node.
mstarzinger@chromium.org [Fri, 24 Oct 2014 12:32:42 +0000 (12:32 +0000)]
Generate fake basic block for Terminate node.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24867}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPropertyICCompiler: expose monomorphic keyed load handler creation.
mvstanton@chromium.org [Fri, 24 Oct 2014 12:28:22 +0000 (12:28 +0000)]
PropertyICCompiler: expose monomorphic keyed load handler creation.

Simple refactoring that is useful for upcoming --vector-ic changes.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24866}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change.
machenbach@chromium.org [Fri, 24 Oct 2014 12:17:17 +0000 (12:17 +0000)]
Whitespace change.

Cr-Commit-Position: refs/heads/master@{#24865}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change.
machenbach@chromium.org [Fri, 24 Oct 2014 11:58:27 +0000 (11:58 +0000)]
Whitespace change.

Cr-Commit-Position: refs/heads/master@{#24864}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWhitespace change to test gnumbd.
machenbach@chromium.org [Fri, 24 Oct 2014 09:48:58 +0000 (09:48 +0000)]
Whitespace change to test gnumbd.

TBR=agable@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24863}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[x86] Fix register constraints for multiply-high.
bmeurer@chromium.org [Fri, 24 Oct 2014 09:36:40 +0000 (09:36 +0000)]
[x86] Fix register constraints for multiply-high.

TEST=mjsunit/compiler,unittests
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoLog code event for deserialized code.
yangguo@chromium.org [Fri, 24 Oct 2014 08:37:03 +0000 (08:37 +0000)]
Log code event for deserialized code.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUnbreak c1visualizer.
bmeurer@chromium.org [Fri, 24 Oct 2014 08:25:00 +0000 (08:25 +0000)]
Unbreak c1visualizer.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Classes: implement 'new super'.
weiliang.lin@intel.com [Fri, 24 Oct 2014 07:34:20 +0000 (07:34 +0000)]
X87: Classes: implement 'new super'.

port r24825.

original commit message:

  Classes: implement 'new super'.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00