platform/upstream/v8.git
9 years agoTest monotonicity of expression typings.
neis@chromium.org [Fri, 17 Oct 2014 11:46:06 +0000 (11:46 +0000)]
Test monotonicity of expression typings.

R=rossberg@chromium.org
BUG=

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

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

9 years agoCorrect semantics for numerically indexed stores to typed arrays.
dslomov@chromium.org [Fri, 17 Oct 2014 11:40:40 +0000 (11:40 +0000)]
Correct semantics for numerically indexed stores to typed arrays.

R=verwaest@chromium.org, ishell@chromium.org

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

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

9 years agoMIPS: Implement the new semantics for 'super(...)'.
balazs.kilvady@imgtec.com [Fri, 17 Oct 2014 11:30:13 +0000 (11:30 +0000)]
MIPS: Implement the new semantics for 'super(...)'.

Port r24683 (b1533f6)

Original commit message:
Per the latest ES6 draft, super(...) translates into a call
to function's prototype.

BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoFix InstructionSelector to handle calls with no (used) output values.
titzer@chromium.org [Fri, 17 Oct 2014 11:26:26 +0000 (11:26 +0000)]
Fix InstructionSelector to handle calls with no (used) output values.

R=jarin@chromium.org
BUG=

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

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

9 years agotest-serialize/Bug3628 is expected to fail, not crash.
yangguo@chromium.org [Fri, 17 Oct 2014 10:22:47 +0000 (10:22 +0000)]
test-serialize/Bug3628 is expected to fail, not crash.

TBR=jochen@chromium.org
BUG=v8:3628
LOG=N

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

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

9 years agoImprove String.repeat.
yangguo@chromium.org [Fri, 17 Oct 2014 10:01:38 +0000 (10:01 +0000)]
Improve String.repeat.

Adapted from patch contributed by Isiah Meadows <impinball@gmail.com>.

R=jkummerow@chromium.org

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

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

9 years agoProhibit serializing with --harmony-scoping.
yangguo@chromium.org [Fri, 17 Oct 2014 09:54:48 +0000 (09:54 +0000)]
Prohibit serializing with --harmony-scoping.

R=jochen@chromium.org
BUG=v8:3628
LOG=N

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

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

9 years ago[turbofan] Eliminate typed array bounds checks if both key and length are constant.
bmeurer@chromium.org [Fri, 17 Oct 2014 09:35:45 +0000 (09:35 +0000)]
[turbofan] Eliminate typed array bounds checks if both key and length are constant.

TEST=mjsunit,unittests
R=dcarney@chromium.org

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

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

9 years agoInitial set of perf tests for classes.
dslomov@chromium.org [Fri, 17 Oct 2014 09:26:55 +0000 (09:26 +0000)]
Initial set of perf tests for classes.

R=arv@chromium.org, machenbach@chromium.org, rossberg@chromium.org

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

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

9 years agoImplement the new semantics for 'super(...)'
dslomov@chromium.org [Fri, 17 Oct 2014 09:16:03 +0000 (09:16 +0000)]
Implement the new semantics for 'super(...)'

Per the latest ES6 draft, super(...) translates into a call
to function's prototype.

R=arv@chromium.org, ishell@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

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

9 years agoShare test framework between js-perf-tests.
dslomov@chromium.org [Fri, 17 Oct 2014 09:11:21 +0000 (09:11 +0000)]
Share test framework between js-perf-tests.

Also small reformat in Iterators/forof.js

R=machenbach@chromium.org

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

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

9 years agoShare code between Factory::NewJSTypedArray and API
dslomov@chromium.org [Fri, 17 Oct 2014 09:04:58 +0000 (09:04 +0000)]
Share code between Factory::NewJSTypedArray and API

R=bmeurer@chromium.org

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

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

9 years ago[x64] add missing disassm of pcmpeqd
bmeurer@chromium.org [Fri, 17 Oct 2014 07:35:38 +0000 (07:35 +0000)]
[x64] add missing disassm of pcmpeqd

BUG=
R=bmeurer@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

9 years agoFix Mac build after r24676.
bmeurer@chromium.org [Fri, 17 Oct 2014 07:12:30 +0000 (07:12 +0000)]
Fix Mac build after r24676.

BUG=v8:3638
LOG=n
R=dcarney@chromium.org

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

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

9 years ago[arm] Prefer BIC over BFC.
bmeurer@chromium.org [Fri, 17 Oct 2014 07:07:54 +0000 (07:07 +0000)]
[arm] Prefer BIC over BFC.

BFC requires same register for input and output and causes introduction
of some unneccesary gap moves.

TEST=unittests,mjsunit
R=svenpanne@chromium.org

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

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

9 years agoBlacklist tests that are too slow with TurboFan in debug mode.
bmeurer@chromium.org [Fri, 17 Oct 2014 06:59:02 +0000 (06:59 +0000)]
Blacklist tests that are too slow with TurboFan in debug mode.

R=jochen@chromium.org

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

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

9 years agoEnable libstdc++ debug mode in debug builds.
bmeurer@chromium.org [Fri, 17 Oct 2014 06:58:20 +0000 (06:58 +0000)]
Enable libstdc++ debug mode in debug builds.

See https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html for
details about the debug mode.

BUG=v8:3638
LOG=y
R=jochen@chromium.org

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

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

9 years agoPerformance tests for iterators.
dslomov@chromium.org [Fri, 17 Oct 2014 06:58:08 +0000 (06:58 +0000)]
Performance tests for iterators.

R=wingo@igalia.com

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

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

9 years agoX87: Eliminate special keyed load string stub in favor of uniform handlers
weiliang.lin@intel.com [Fri, 17 Oct 2014 05:23:14 +0000 (05:23 +0000)]
X87: Eliminate special keyed load string stub in favor of uniform handlers

port r24661.

original commit message:

  Eliminate special keyed load string stub in favor of uniform handlers.

  KeyedLoadIC installs a special case if the receiver is a string.
  Although there are several maps for strings, in practice we seem to
  be able to treat them individually because a given KeyedLoad site
  only sees 1-2 string types

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years ago[x64] simply tweak materialization of float/double constants
bmeurer@chromium.org [Fri, 17 Oct 2014 04:18:38 +0000 (04:18 +0000)]
[x64] simply tweak materialization of float/double constants

port 24485
Fixed a bug of "psllq" instruction in x64

R=bmeurer@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

9 years agoMove them from .data to .rodata.
bmeurer@chromium.org [Fri, 17 Oct 2014 04:03:15 +0000 (04:03 +0000)]
Move them from .data to .rodata.

R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

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

9 years agoPass an Isolate to v8::VisitHandlesWithClassIds
haraken@chromium.org [Fri, 17 Oct 2014 00:46:18 +0000 (00:46 +0000)]
Pass an Isolate to v8::VisitHandlesWithClassIds

The Isolate version of v8::VisitHandlesWithClassIds is needed
for https://codereview.chromium.org/651713002/

R=dcarney@chromium.org

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

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

9 years agoHarden CopyJSObject.
dslomov@chromium.org [Thu, 16 Oct 2014 19:38:32 +0000 (19:38 +0000)]
Harden CopyJSObject.

R=verwaest@chromium.org

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

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

9 years agoMIPS: Fix clang compilation error.
balazs.kilvady@imgtec.com [Thu, 16 Oct 2014 17:24:15 +0000 (17:24 +0000)]
MIPS: Fix clang compilation error.

Port r24662 (4722032)

BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoMIPS: Eliminate special keyed load string stub in favor of uniform handlers.
balazs.kilvady@imgtec.com [Thu, 16 Oct 2014 16:39:51 +0000 (16:39 +0000)]
MIPS: Eliminate special keyed load string stub in favor of uniform handlers.

Port r24661 (5499efb)

Original commit message:
KeyedLoadIC installs a special case if the receiver is a string.
Although there are several maps for strings, in practice we seem to
be able to treat them individually because a given KeyedLoad site
only sees 1-2 string types.

BUG=
R=paul.lind@imgtec.com

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

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

9 years agoMIPS: Fix code for InstanceofStub.
balazs.kilvady@imgtec.com [Thu, 16 Oct 2014 16:25:27 +0000 (16:25 +0000)]
MIPS: Fix code for InstanceofStub.

Port r24654 (66aa0fb)

BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoFix new git workflow in release scripts.
machenbach@chromium.org [Thu, 16 Oct 2014 13:45:59 +0000 (13:45 +0000)]
Fix new git workflow in release scripts.

Need to svn fetch in order to make svn find-rev work.

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

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

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

9 years agoFix ASAN warning.
mvstanton@chromium.org [Thu, 16 Oct 2014 13:26:28 +0000 (13:26 +0000)]
Fix ASAN warning.

Missing line in a test to dispose of a string.

TBR=yangguo@chromium.org

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

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

9 years agoAdd v8 git hashes to releases script.
machenbach@chromium.org [Thu, 16 Oct 2014 13:21:13 +0000 (13:21 +0000)]
Add v8 git hashes to releases script.

Also change the tests to use git mode.

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

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

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

9 years agoTrack usage of "this" and "arguments" in Scope
wingo@igalia.com [Thu, 16 Oct 2014 13:19:36 +0000 (13:19 +0000)]
Track usage of "this" and "arguments" in Scope

This adds flags in Scope to track wheter a Scope uses "this" and,
"arguments". The information is exposed via Scope::uses_this(),
and Scope::uses_arguments(), respectively. Flags for tracking
usage on any inner scope uses are available as well via
Scope::inner_uses_this(), and Scope::inner_uses_arguments().

Knowing whether scopes use "this" and "arguments" will be handy
to generate the code needed to capture their values when generating
the code for arrow functions.

BUG=v8:2700
LOG=
R=rossberg@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

9 years agoFix clang compilation error.
mvstanton@chromium.org [Thu, 16 Oct 2014 12:27:35 +0000 (12:27 +0000)]
Fix clang compilation error.

TBR=yangguo@chromium.org

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

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

9 years agoEliminate special keyed load string stub in favor of uniform handlers.
mvstanton@chromium.org [Thu, 16 Oct 2014 11:42:47 +0000 (11:42 +0000)]
Eliminate special keyed load string stub in favor of uniform handlers.

KeyedLoadIC installs a special case if the receiver is a string.
Although there are several maps for strings, in practice we seem to
be able to treat them individually because a given KeyedLoad site
only sees 1-2 string types.

R=yangguo@chromium.org

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

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

9 years ago[turbofan] Correctify typed lowering.
bmeurer@chromium.org [Thu, 16 Oct 2014 11:31:00 +0000 (11:31 +0000)]
[turbofan] Correctify typed lowering.

We cannot add new JSToNumber nodes here in general, because:

 a) The inserted ToNumber operation screws up observability of valueOf.
 b) Deoptimization at ToNumber doesn't have corresponding bailout id.

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

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

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

9 years agoFix x64 after r24656.
bmeurer@chromium.org [Thu, 16 Oct 2014 11:29:31 +0000 (11:29 +0000)]
Fix x64 after r24656.

TBR=jarin@chromium.org

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

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

9 years agoObject.is should use SameValue
wingo@igalia.com [Thu, 16 Oct 2014 11:24:45 +0000 (11:24 +0000)]
Object.is should use SameValue

BUG=v8:3576
LOG=
R=arv@chromium.org, svenpanne@chromium.org, wingo@igalia.com

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

Patch from Diego Pino <dpino@igalia.com>.

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

9 years agoImplement .forEach() on typed arrays
wingo@igalia.com [Thu, 16 Oct 2014 10:55:26 +0000 (10:55 +0000)]
Implement .forEach() on typed arrays

BUG=v8:3578
LOG=Y
R=dslomov@chromium.org, wingo@igalia.com

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

9 years ago[turbofan] Run value numbering after SimplifiedLowering.
bmeurer@chromium.org [Thu, 16 Oct 2014 10:50:21 +0000 (10:50 +0000)]
[turbofan] Run value numbering after SimplifiedLowering.

Running ValueNumberingReducer together with ChangeLowering causes
trouble with the current GraphReducer and makes GVN ineffective, so
running it before we get to change lowering works around that well-known
(phase ordering) problem for now.

R=jarin@chromium.org

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

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

9 years agoIntroduce v8::Exception::GetStackTrace API method.
aandrey@chromium.org [Thu, 16 Oct 2014 10:42:08 +0000 (10:42 +0000)]
Introduce v8::Exception::GetStackTrace API method.

This will be needed to get a stack trace from a DOMException.

API=v8::Exception::GetStackTrace
R=yangguo@chromium.org
LOG=Y

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

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

9 years ago[arm][arm64] fix code for InstanceofStub
m.m.capewell@googlemail.com [Thu, 16 Oct 2014 10:38:58 +0000 (10:38 +0000)]
[arm][arm64] fix code for InstanceofStub

R=ulan@chromium.org, bmeurer@chromium.org

BUG=

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

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

9 years agoWhitespace change to test the new poller.
machenbach@chromium.org [Thu, 16 Oct 2014 10:03:14 +0000 (10:03 +0000)]
Whitespace change to test the new poller.

TBR=agable@chromium.org

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

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

9 years agoWhitespace change to test the new poller.
machenbach@chromium.org [Thu, 16 Oct 2014 08:39:20 +0000 (08:39 +0000)]
Whitespace change to test the new poller.

TBR=agable@chromium.org

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

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

9 years agoWhitespace change to test the new poller.
machenbach@chromium.org [Thu, 16 Oct 2014 08:19:45 +0000 (08:19 +0000)]
Whitespace change to test the new poller.

TBR=agable@chromium.org

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

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

9 years ago[turbofan] Fix GraphC1Visualizer::PrintType().
bmeurer@chromium.org [Thu, 16 Oct 2014 06:59:39 +0000 (06:59 +0000)]
[turbofan] Fix GraphC1Visualizer::PrintType().

TBR=jarin@chromium.org

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

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

9 years agoX87: Implement inline %_IsJSProxy() for full codegen and Hydrogen.
weiliang.lin@intel.com [Thu, 16 Oct 2014 06:24:47 +0000 (06:24 +0000)]
X87: Implement inline %_IsJSProxy() for full codegen and Hydrogen.

port r24636.

original commit message:

  Implement inline %_IsJSProxy() for full codegen and Hydrogen
  Saving a runtime call for many builtin functions.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoRevert "Remove SmartMove, bringing Array methods further into spec compliance"
adamk@chromium.org [Wed, 15 Oct 2014 23:53:02 +0000 (23:53 +0000)]
Revert "Remove SmartMove, bringing Array methods further into spec compliance"

This reverts https://code.google.com/p/v8/source/detail?r=24647

It caused test failures in Array methods in Linux64 OptimizeForSize.

BUG=v8:2615
TBR=verwaest@chromium.org
LOG=N

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

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

9 years agoRemove SmartMove, bringing Array methods further into spec compliance
adamk@chromium.org [Wed, 15 Oct 2014 23:36:58 +0000 (23:36 +0000)]
Remove SmartMove, bringing Array methods further into spec compliance

This is one step towards a single codepath for each method in array.js.

This patch is based on rafaelw's https://codereview.chromium.org/349073002

BUG=v8:2615
LOG=Y
R=verwaest@chromium.org

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

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

9 years agoHandle exceptions thrown by Array.observe machinery
adamk@chromium.org [Wed, 15 Oct 2014 18:22:20 +0000 (18:22 +0000)]
Handle exceptions thrown by Array.observe machinery

BUG=chromium:417709
LOG=N
R=yangguo@chromium.org

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

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

9 years agoMIPS: Implement inline %_IsJSProxy() for full codegen and Hydrogen.
balazs.kilvady@imgtec.com [Wed, 15 Oct 2014 17:14:17 +0000 (17:14 +0000)]
MIPS: Implement inline %_IsJSProxy() for full codegen and Hydrogen.

Port r24636

Original commit message:
Saving a runtime call for many builtin functions.

BUG=
R=paul.lind@imgtec.com

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

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

9 years agoFix compilation some more after r24639
jkummerow@chromium.org [Wed, 15 Oct 2014 15:04:09 +0000 (15:04 +0000)]
Fix compilation some more after r24639

Third time's a charm...

TBR=yangguo@chromium.org

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

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

9 years agoFix compilation after r24639
sigurds@chromium.org [Wed, 15 Oct 2014 14:42:32 +0000 (14:42 +0000)]
Fix compilation after r24639

TBR=yangguo@chromium.org

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

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

9 years agoFix compilation after r24639
jkummerow@chromium.org [Wed, 15 Oct 2014 14:27:26 +0000 (14:27 +0000)]
Fix compilation after r24639

TBR=yangguo@chromium.org

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

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

9 years agoFix verification of Int64Constant
rossberg@chromium.org [Wed, 15 Oct 2014 14:17:26 +0000 (14:17 +0000)]
Fix verification of Int64Constant

TBR=jarin@chromium.org
BUG=

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

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

9 years agoGive simple types to Math.Min, Math.Max, Math.Fround, Math.Clz32.
neis@chromium.org [Wed, 15 Oct 2014 14:12:20 +0000 (14:12 +0000)]
Give simple types to Math.Min, Math.Max, Math.Fround, Math.Clz32.

R=rossberg@chromium.org
BUG=

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

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

9 years agoBreak deserializer reservations into chunks that fit onto a page.
yangguo@chromium.org [Wed, 15 Oct 2014 14:04:53 +0000 (14:04 +0000)]
Break deserializer reservations into chunks that fit onto a page.

R=mvstanton@chromium.org

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

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

9 years agoConvert argument toObject() in Object.getOwnPropertyNames/Descriptors
dslomov@chromium.org [Wed, 15 Oct 2014 14:01:20 +0000 (14:01 +0000)]
Convert argument toObject() in Object.getOwnPropertyNames/Descriptors

BUG=v8:3443
LOG=Y
R=arv@chromium.org, dslomov@chromium.org

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

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

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

9 years agoImplement inline %_IsJSProxy() for full codegen and Hydrogen
jkummerow@chromium.org [Wed, 15 Oct 2014 13:26:43 +0000 (13:26 +0000)]
Implement inline %_IsJSProxy() for full codegen and Hydrogen

Saving a runtime call for many builtin functions.

R=ishell@chromium.org

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

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

9 years agoFix bug in NodeCache::GetCachedNodes
titzer@chromium.org [Wed, 15 Oct 2014 13:07:18 +0000 (13:07 +0000)]
Fix bug in NodeCache::GetCachedNodes

TBR=dcarney@chromium.org
BUG=

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

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

9 years agoFix GetCurrentThreadId for Solaris etc..
jochen@chromium.org [Wed, 15 Oct 2014 12:38:53 +0000 (12:38 +0000)]
Fix GetCurrentThreadId for Solaris etc..

BUG=v8:3620
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoWhitespace change to test new git workflow.
machenbach@chromium.org [Wed, 15 Oct 2014 12:38:38 +0000 (12:38 +0000)]
Whitespace change to test new git workflow.

TBR=agable@chromium.org

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

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

9 years agoAdd JSGraph::GetCachedNodes and NodeCache::GetCachedNodes. These routines are necessa...
titzer@chromium.org [Wed, 15 Oct 2014 12:29:39 +0000 (12:29 +0000)]
Add JSGraph::GetCachedNodes and NodeCache::GetCachedNodes. These routines are necessary in the dead code elimination phase to trim away uses from unreachable nodes.

R=bmeurer@chromium.org
BUG=

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

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

9 years agoOptimize Function.prototype.call
verwaest@chromium.org [Wed, 15 Oct 2014 12:22:15 +0000 (12:22 +0000)]
Optimize Function.prototype.call

BUG=
R=verwaest@chromium.org, jarin@chromium.org, jkummerow@chromium.org

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

Patch from Petka Antonov <p.antonov@partner.samsung.com>.

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

9 years ago[turbofan] more verification of rpo
dcarney@chromium.org [Wed, 15 Oct 2014 12:15:38 +0000 (12:15 +0000)]
[turbofan] more verification of rpo

R=titzer@chromium.org

BUG=

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

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

9 years agoFix out-of-bounds read in SourcePositionToScriptPosition with --hydrogen-track-positions.
vegorov@chromium.org [Wed, 15 Oct 2014 12:06:41 +0000 (12:06 +0000)]
Fix out-of-bounds read in SourcePositionToScriptPosition with --hydrogen-track-positions.

We were indexing into the list of inlined functions with inlining ID, which is incorrect.

There can be multiple inlinining IDs corresponding to the same inlined function, because inlining ID is inlining path sensitive unique id for an inlining attempt.

Additionally allow HAbnormalExit to have unknown source position even if we are tracking source positions. No code is generated from abnormal exits anyways.

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

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

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

9 years agoPresubmit checks
rossberg@chromium.org [Wed, 15 Oct 2014 11:58:30 +0000 (11:58 +0000)]
Presubmit checks

TBR=rossberg@chromium.org
BUG=

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

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

9 years agoFix oversight in type change
rossberg@chromium.org [Wed, 15 Oct 2014 11:56:05 +0000 (11:56 +0000)]
Fix oversight in type change

TBR=dcarney@chromium.org
BUG=

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

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

9 years agoBetter typing and type verification
rossberg@chromium.org [Wed, 15 Oct 2014 11:38:04 +0000 (11:38 +0000)]
Better typing and type verification

- Extend verifier to check types of JS and Simplified nodes.
- Untyped nodes now contain NULL as types, enforcing hard failure.
- Typer immediately installs itself as a decorator; remove explicit decorator installation.
- Decorator eagerly types all nodes that have typed inputs
  (subsumes typing of constant cache, removing its typing
  side-channel and various spurious dependencies on the typer).
- Cut down typer interface to prevent inconsistently typed graphs.
- Remove verification from start, since it caused too much trouble
  with semi-wellformed nodes.
- Fix a couple of bugs on the way that got uncovered.

To do: verifying machine operators. Also, various conditions in the
verifier are currently commented out, because they don't yet hold.

BUG=
R=jarin@chromium.org,titzer@chromium.org

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

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

9 years agoMake event logger slightly more light-weight.
yangguo@chromium.org [Wed, 15 Oct 2014 11:16:42 +0000 (11:16 +0000)]
Make event logger slightly more light-weight.

R=dcarney@chromium.org
BUG=chromium:423668
LOG=N

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

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

9 years agoUse WeakCell to handle the script wrapper cache
erikcorry@chromium.org [Wed, 15 Oct 2014 10:11:08 +0000 (10:11 +0000)]
Use WeakCell to handle the script wrapper cache

The script wrapper cache used the API weak handles to provide a weak link from Script to ScriptWrapper. We want to change the way API weakness works, and in this context it's best to get rid of users of the API that don't need to be users.

R=ulan@chromium.org
BUG=

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

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

9 years agoInitialize double values before calling rempio2.
yangguo@chromium.org [Wed, 15 Oct 2014 09:24:55 +0000 (09:24 +0000)]
Initialize double values before calling rempio2.

R=ishell@chromium.org
BUG=chromium:421981
LOG=N

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

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

9 years agoArray.prototype.{every, filter, find, findIndex, forEach, map, some}: Use fresh primi...
svenpanne@chromium.org [Wed, 15 Oct 2014 09:11:32 +0000 (09:11 +0000)]
Array.prototype.{every, filter, find, findIndex, forEach, map, some}: Use fresh primitive wrapper for calls.

When the receiver is a primitive value, it's cast to an Object before entering the loop. Instead, it should be cast to an Object for each function call while in the loop.

BUG=v8:3536
LOG=Y
R=arv@chromium.org, svenpanne@chromium.org, wingo@igalia.com

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

Patch from Diego Pino <dpino@igalia.com>.

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

9 years ago[x86] Several small performance improvements.
bmeurer@chromium.org [Wed, 15 Oct 2014 09:05:40 +0000 (09:05 +0000)]
[x86] Several small performance improvements.

- Generate

    cmp reg, 0

  instead of

    test reg, -1

  for word tests.
- Generate

    mov reg, [stack slot]
    add reg, reg
    jo label

  instead of

    mov reg, [stack slot]
    add reg, [stack slot]
    jo label

  for SMI tagging.
- Improve materialization of int32 constants on X86-64.
- Branch fusion fix for Word64And and Int64Sub on X86-64.

R=dcarney@chromium.org

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

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

9 years agoLet FastCloneShallowObjectStub work with empty literal objects.
dcarney@chromium.org [Wed, 15 Oct 2014 08:48:44 +0000 (08:48 +0000)]
Let FastCloneShallowObjectStub work with empty literal objects.

R=verwaest@chromium.org

LOG=N

BUG=417290

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

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

9 years agoRemove test-api/Regress2107 since it doesn't test what Chrome does.
ulan@chromium.org [Wed, 15 Oct 2014 08:44:00 +0000 (08:44 +0000)]
Remove test-api/Regress2107 since it doesn't test what Chrome does.

BUG=v8:3625
LOG=N
R=jochen@chromium.org

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

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

9 years ago[turbofan] fix block mapping in code comments
dcarney@chromium.org [Wed, 15 Oct 2014 08:23:24 +0000 (08:23 +0000)]
[turbofan] fix block mapping in code comments

R=bmeurer@chromium.org

BUG=

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

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

9 years agoAgain reland "Refine expression typing, esp. by propagating range information."
neis@chromium.org [Wed, 15 Oct 2014 08:21:46 +0000 (08:21 +0000)]
Again reland "Refine expression typing, esp. by propagating range information."

This relands commit 24552.

TBR=rossberg@chromium.org
BUG=

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

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

9 years agoRevert "Reland "Refine expression typing, esp. by propagating range information.""
bmeurer@chromium.org [Wed, 15 Oct 2014 03:50:13 +0000 (03:50 +0000)]
Revert "Reland "Refine expression typing, esp. by propagating range information.""

This reverts commit r24609 for breaking the
cctest/test-js-typed-lowering/Int32BitwiseBinops test.

TBR=rossberg@chromium.org,neis@chromium.org

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

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

9 years agoMIPS: [turbofan] Optimize division/modulus by constant.
balazs.kilvady@imgtec.com [Tue, 14 Oct 2014 17:26:14 +0000 (17:26 +0000)]
MIPS: [turbofan] Optimize division/modulus by constant.

Port r24595 (d0f464e)

TEST=cctest,mjsunit,unittests
BUG=
R=paul.lind@imgtec.com

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

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

9 years agoFix performance bug in scheduler.
sigurds@chromium.org [Tue, 14 Oct 2014 16:28:32 +0000 (16:28 +0000)]
Fix performance bug in scheduler.

TBR=mstarzinger@chromium.org

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

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

9 years agoReland "Refine expression typing, esp. by propagating range information."
neis@chromium.org [Tue, 14 Oct 2014 16:27:26 +0000 (16:27 +0000)]
Reland "Refine expression typing, esp. by propagating range information."

This relands commit 24552.

R=rossberg@chromium.org
BUG=

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

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

9 years agoCatch exceptions thrown when enqueuing change records.
yangguo@chromium.org [Tue, 14 Oct 2014 14:46:11 +0000 (14:46 +0000)]
Catch exceptions thrown when enqueuing change records.

R=ishell@chromium.org
BUG=chromium:417709
LOG=N

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

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

9 years agoFix V8's default timer event logger.
yangguo@chromium.org [Tue, 14 Oct 2014 14:45:03 +0000 (14:45 +0000)]
Fix V8's default timer event logger.

This broke because the optimizing compiler thread no longer holds
Isolate::Current() in its TLS.

R=jkummerow@chromium.org

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

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

9 years agoWeak Cells
ulan@chromium.org [Tue, 14 Oct 2014 14:43:45 +0000 (14:43 +0000)]
Weak Cells

Introduce an object that holds a weak reference.
Design document: http://goo.gl/9dSvvy.

BUG=
R=erik.corry@gmail.com

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

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

9 years agoAlways initialize key_type_ in AST nodes
jkummerow@chromium.org [Tue, 14 Oct 2014 13:52:15 +0000 (13:52 +0000)]
Always initialize key_type_ in AST nodes

BUG=chromium:423117
LOG=n
R=mvstanton@chromium.org

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

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

9 years agoCorrectly expand literal buffer for surrogate pairs.
yangguo@chromium.org [Tue, 14 Oct 2014 13:25:19 +0000 (13:25 +0000)]
Correctly expand literal buffer for surrogate pairs.

R=jkummerow@chromium.org
BUG=chromium:423212
LOG=Y

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

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

9 years agoAdd typing for Int32MulHigh.
neis@chromium.org [Tue, 14 Oct 2014 12:41:34 +0000 (12:41 +0000)]
Add typing for Int32MulHigh.

TBR=rossberg@chromium.org
BUG=

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

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

9 years agoSimple typing of machine operators.
neis@chromium.org [Tue, 14 Oct 2014 12:27:29 +0000 (12:27 +0000)]
Simple typing of machine operators.

R=rossberg@chromium.org
BUG=

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

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

9 years agoFix de/serialization tests after r24592
jkummerow@chromium.org [Tue, 14 Oct 2014 12:21:18 +0000 (12:21 +0000)]
Fix de/serialization tests after r24592

R=yangguo@chromium.org

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

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

9 years agoMake release script cleanup more robust.
machenbach@chromium.org [Tue, 14 Oct 2014 12:19:32 +0000 (12:19 +0000)]
Make release script cleanup more robust.

This is a work-around that checks out master if the
remembered branch is corrupt.

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

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

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

9 years agoFix remote branch location in releases script (2).
machenbach@chromium.org [Tue, 14 Oct 2014 12:10:48 +0000 (12:10 +0000)]
Fix remote branch location in releases script (2).

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

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

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

9 years agoReland "Fix scheduler to correctly schedule nested diamonds".
sigurds@chromium.org [Tue, 14 Oct 2014 12:08:55 +0000 (12:08 +0000)]
Reland "Fix scheduler to correctly schedule nested diamonds".

Reland fix: Consume less memory.

R=mstarzinger@chromium.org

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

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

9 years agoFix remote branch location in releases script.
machenbach@chromium.org [Tue, 14 Oct 2014 12:00:22 +0000 (12:00 +0000)]
Fix remote branch location in releases script.

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

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

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

9 years ago[turbofan] Optimize division/modulus by constant.
bmeurer@chromium.org [Tue, 14 Oct 2014 11:57:06 +0000 (11:57 +0000)]
[turbofan] Optimize division/modulus by constant.

TEST=cctest,mjsunit,unittests
R=dcarney@chromium.org, svenpanne@chromium.org

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

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

9 years agoPreserve order of fields when doing slow-to-fast object migration.
ishell@chromium.org [Tue, 14 Oct 2014 11:03:35 +0000 (11:03 +0000)]
Preserve order of fields when doing slow-to-fast object migration.

R=jkummerow@chromium.org

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

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

9 years agoSqueeze the layout of various AST node types.
svenpanne@chromium.org [Tue, 14 Oct 2014 10:24:18 +0000 (10:24 +0000)]
Squeeze the layout of various AST node types.

The following AST node types were improved (in decreasing number of
importance for asm.js-like source code): Expression, VariableProxy,
Assignment, BinaryOperation, Declaration, Property, Call.

BUG=chromium:417697
LOG=y
R=mvstanton@chromium.org

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

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

9 years agoAlways compile functions in the snapshot with deoptimization support.
jkummerow@chromium.org [Tue, 14 Oct 2014 09:59:24 +0000 (09:59 +0000)]
Always compile functions in the snapshot with deoptimization support.

This prevents an unnecessary deopt-reopt cycle due to type feedback
having been thrown away as part of recompiling with deopt support.
(For non-snapshotted functions this is not an issue.)

Bonus: Add missing space in --trace-ic output, and provide names for
PropertyDescriptor's methods, because passing anonymous functions to
SetUpLockedPrototype frightens and confuses our FuncNameInferrer.

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

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

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

9 years ago[turbofan] Add support for shifted and rotated operands on ARM64.
baptiste.afsa@arm.com [Tue, 14 Oct 2014 09:28:53 +0000 (09:28 +0000)]
[turbofan] Add support for shifted and rotated operands on ARM64.

R=bmeurer@chromium.org
BUG=

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

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

9 years agobuild fix
dcarney@chromium.org [Tue, 14 Oct 2014 09:22:21 +0000 (09:22 +0000)]
build fix

TBR=bmeurer@chromium.org

BUG=

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

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

9 years agoSwitch chromium roll script to git.
machenbach@chromium.org [Tue, 14 Oct 2014 09:00:16 +0000 (09:00 +0000)]
Switch chromium roll script to git.

BUG=chromium:418923,chromium:410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org

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

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

9 years agoAdd control input to LoadField.
sigurds@chromium.org [Tue, 14 Oct 2014 08:59:27 +0000 (08:59 +0000)]
Add control input to LoadField.

BUG=
R=bmeurer@chromium.org

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

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

9 years ago[turbofan] remove some of the dependency of Instruction on Schedule
dcarney@chromium.org [Tue, 14 Oct 2014 08:51:22 +0000 (08:51 +0000)]
[turbofan] remove some of the dependency of Instruction on Schedule

R=bmeurer@chromium.org

BUG=

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

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