platform/upstream/v8.git
9 years agoAST nodes have at most one bailout/typefeedback ID now, saving lots of memory.
svenpanne@chromium.org [Fri, 10 Oct 2014 10:52:31 +0000 (10:52 +0000)]
AST nodes have at most one bailout/typefeedback ID now, saving lots of memory.

This is basically https://codereview.chromium.org/569573002/ done right:

During construction, each node type tells its parent how many IDs it
needs in addition to the parent's ones. This is done all the way up in
the class hierarchy until a node's parent doesn't need any ID. At that
point we know how many IDs in summary are needed, and we reserve the
whole range at once, saving only the base ID of that range. All IDs
are now calculated via simple offsets to that base ID. To all
performaniacs: The C++ compiler simplifies the constant calculation to
a simple load and the addition of a single constant.

Note that the actual code is much simpler than all that prose above. :-)
It's basically how compilers for OO languages figure out vtable entries.

We still have lots of holes due to padding in the AST nodes, but this
will be addressed in a separate CL.

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

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

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

9 years agoReset code age when serializing code objects.
yangguo@chromium.org [Fri, 10 Oct 2014 10:51:34 +0000 (10:51 +0000)]
Reset code age when serializing code objects.

R=mvstanton@chromium.org

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

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

9 years agoKeyed loads from super with numeric keys.
dslomov@chromium.org [Fri, 10 Oct 2014 10:40:29 +0000 (10:40 +0000)]
Keyed loads from super with numeric keys.

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

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

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

9 years agoSet output representation of HIsStringAndBranch to tagged.
ulan@chromium.org [Fri, 10 Oct 2014 10:35:30 +0000 (10:35 +0000)]
Set output representation of HIsStringAndBranch to tagged.

BUG=chromium:421877
LOG=N
R=jkummerow@chromium.org

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

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

9 years ago[turbofan] Optimize Uint32LessThan with Word32Sar.
bmeurer@chromium.org [Fri, 10 Oct 2014 10:23:04 +0000 (10:23 +0000)]
[turbofan] Optimize Uint32LessThan with Word32Sar.

TEST=unittests
R=jarin@chromium.org

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

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

9 years agoTeach TurboFan to call vector-based ICs.
mvstanton@chromium.org [Fri, 10 Oct 2014 09:49:43 +0000 (09:49 +0000)]
Teach TurboFan to call vector-based ICs.

Additional static information needs to be passed to Load and KeyedLoad calls if
--vector-ics is turned on.

R=mstarzinger@chromium.org

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

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

9 years agoMIPS: Fix for r24501.
akos.palfi@imgtec.com [Fri, 10 Oct 2014 09:06:55 +0000 (09:06 +0000)]
MIPS: Fix for r24501.

BUG=
R=akos.palfi@imgtec.com

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

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

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

9 years agoUpdate .gitignore with test/test262-es6/data.
yangguo@chromium.org [Fri, 10 Oct 2014 08:48:39 +0000 (08:48 +0000)]
Update .gitignore with test/test262-es6/data.

R=jkummerow@chromium.org

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

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

9 years ago[turbofan] Fix typed lowering of typed array loads/stores.
bmeurer@chromium.org [Fri, 10 Oct 2014 08:10:29 +0000 (08:10 +0000)]
[turbofan] Fix typed lowering of typed array loads/stores.

R=jarin@chromium.org

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

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

9 years agoConform to the unittest naming convention.
yangguo@chromium.org [Fri, 10 Oct 2014 08:06:21 +0000 (08:06 +0000)]
Conform to the unittest naming convention.

R=bmeurer@chromium.org

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

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

9 years agoFix typo in Mac GetCurrentThreadId
jochen@chromium.org [Fri, 10 Oct 2014 07:27:33 +0000 (07:27 +0000)]
Fix typo in Mac GetCurrentThreadId

BUG=none
TBR=svenpanne@chromium.org
LOG=n

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

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

9 years agoSync OS::GetCurrentThreadId with chromium's/blink's implementation
jochen@chromium.org [Fri, 10 Oct 2014 07:22:57 +0000 (07:22 +0000)]
Sync OS::GetCurrentThreadId with chromium's/blink's implementation

Compare third_party/WebKit/Source/wtf/ThreadingPthreads.cpp

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

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

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

9 years agoAllow identifier code points from supplementary multilingual planes.
yangguo@chromium.org [Fri, 10 Oct 2014 07:13:46 +0000 (07:13 +0000)]
Allow identifier code points from supplementary multilingual planes.

ES5.1 section 6 ("Source Text"):
"Throughout the rest of this document, the phrase “code unit” and the
word “character” will be used to refer to a 16-bit unsigned value
used to represent a single 16-bit unit of text."

This changed in ES6 draft section 10.1 ("Source Text"):
"The ECMAScript code is expressed using Unicode, version 5.1 or later.
ECMAScript source text is a sequence of code points. All Unicode code
point values from U+0000 to U+10FFFF, including surrogate code points,
may occur in source text where permitted by the ECMAScript grammars."

This patch is to reflect this spec change.

BUG=v8:3617
LOG=Y
R=jochen@chromium.org

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

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

9 years agoMake benchmark runner understand chromium perf output.
machenbach@chromium.org [Fri, 10 Oct 2014 07:12:38 +0000 (07:12 +0000)]
Make benchmark runner understand chromium perf output.

BUG=406405
LOG=n
TEST=python -m unittest run_benchmarks_test
R=bmeurer@chromium.org

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

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

9 years agoX87: Fix uninitialized FixedArray potentially being left behind by ElementsTransition...
weiliang.lin@intel.com [Fri, 10 Oct 2014 06:04:31 +0000 (06:04 +0000)]
X87: Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::Generate.

port r24498.

original commit message:
  Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::Generate.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: Keyed stores to super where key is a name.
weiliang.lin@intel.com [Fri, 10 Oct 2014 05:44:13 +0000 (05:44 +0000)]
X87: Keyed stores to super where key is a name.

port r24490.

original commit message:
   Keyed stores to super where key is a name.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: Add MEGAMORPHIC state support for KeyedStoreIC
weiliang.lin@intel.com [Fri, 10 Oct 2014 05:40:44 +0000 (05:40 +0000)]
X87: Add MEGAMORPHIC state support for KeyedStoreIC

port r24500.

original commit message:

  Add MEGAMORPHIC state support for KeyedStoreIC

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoMIPS: Add MEGAMORPHIC state support for KeyedStoreIC.
balazs.kilvady@imgtec.com [Thu, 9 Oct 2014 18:09:14 +0000 (18:09 +0000)]
MIPS: Add MEGAMORPHIC state support for KeyedStoreIC.

Port r24500 (e10f342)

BUG=
R=paul.lind@imgtec.com

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

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

9 years agoMIPS: Fix uninitialized FixedArray potentially being left behind by ElementsTransitio...
balazs.kilvady@imgtec.com [Thu, 9 Oct 2014 17:06:17 +0000 (17:06 +0000)]
MIPS: Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::GenerateDoubleToObject.

Port r24498 (eeef8c0)

BUG=chromium:421843
LOG=n
R=paul.lind@imgtec.com

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

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

9 years agoMIPS: Keyed stores to super where key is a name.
balazs.kilvady@imgtec.com [Thu, 9 Oct 2014 15:33:10 +0000 (15:33 +0000)]
MIPS: Keyed stores to super where key is a name.

Port r24490 (839f44c)

BUG=v:3330
LOG=N
R=paul.lind@imgtec.com

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

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

9 years agoAdd MEGAMORPHIC state support for KeyedStoreIC
jkummerow@chromium.org [Thu, 9 Oct 2014 14:30:44 +0000 (14:30 +0000)]
Add MEGAMORPHIC state support for KeyedStoreIC

R=mvstanton@chromium.org

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

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

9 years agoFix computation of UTC time from local time at DST change points.
ulan@chromium.org [Thu, 9 Oct 2014 14:17:33 +0000 (14:17 +0000)]
Fix computation of UTC time from local time at DST change points.

This also reverts r23606, which was an incorrect fix.

BUG=v8:3116,chromium:417640,chromium:415424
LOG=Y
TEST=mjsunit/regress/regress-3116.js
R=yangguo@chromium.org

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

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

9 years agoFix uninitialized FixedArray potentially being left behind by ElementsTransitionGener...
jkummerow@chromium.org [Thu, 9 Oct 2014 14:12:05 +0000 (14:12 +0000)]
Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::GenerateDoubleToObject

BUG=chromium:421843
LOG=n
R=ishell@chromium.org

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

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

9 years agoRemove deprecated verification for context separation.
mstarzinger@chromium.org [Thu, 9 Oct 2014 14:01:59 +0000 (14:01 +0000)]
Remove deprecated verification for context separation.

R=hpayer@chromium.org

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

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

9 years agoRemove perf tests that are moved to another location.
machenbach@chromium.org [Thu, 9 Oct 2014 13:25:42 +0000 (13:25 +0000)]
Remove perf tests that are moved to another location.

TBR=dslomov@chromium.org, bmeurer@chromium.org

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

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

9 years agoConvert `obj` ToObject in Object.keys()
dslomov@chromium.org [Thu, 9 Oct 2014 13:19:02 +0000 (13:19 +0000)]
Convert `obj` ToObject in Object.keys()

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

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

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

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

9 years ago[ia32] Use more efficient encoding when loading integer constants.
bmeurer@chromium.org [Thu, 9 Oct 2014 12:50:13 +0000 (12:50 +0000)]
[ia32] Use more efficient encoding when loading integer constants.

R=titzer@chromium.org

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

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

9 years agoMove js perf test to another directory.
machenbach@chromium.org [Thu, 9 Oct 2014 12:41:36 +0000 (12:41 +0000)]
Move js perf test to another directory.

TBR=dslomov@chromium.org, bmeurer@chromium.org

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

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

9 years ago[turbofan] Eliminate redundant masking operations for word8/word16 stores.
bmeurer@chromium.org [Thu, 9 Oct 2014 12:20:45 +0000 (12:20 +0000)]
[turbofan] Eliminate redundant masking operations for word8/word16 stores.

There's no need to apply 0xff when storing 8-bit values or 0xffff when
storing 16-bit values.

TEST=unittests
R=titzer@chromium.org

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

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

9 years ago[ia32] Fix for no SSE4.1.
bmeurer@chromium.org [Thu, 9 Oct 2014 12:16:27 +0000 (12:16 +0000)]
[ia32] Fix for no SSE4.1.

TBR=mstarzinger@chromium.org

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

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

9 years agoKeyed stores to super where key is a name.
dslomov@chromium.org [Thu, 9 Oct 2014 11:36:22 +0000 (11:36 +0000)]
Keyed stores to super where key is a name.

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

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

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

9 years agoRemove default NOP implementation of MonotonicallyIncreasingTime.
rmcilroy@chromium.org [Thu, 9 Oct 2014 10:44:30 +0000 (10:44 +0000)]
Remove default NOP implementation of MonotonicallyIncreasingTime.

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

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

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

9 years agoSimplify Scope and ScopePtr conversions.
dslomov@chromium.org [Thu, 9 Oct 2014 10:40:18 +0000 (10:40 +0000)]
Simplify Scope and ScopePtr conversions.

R=svenpanne@chromium.org

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

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

9 years agoAdd link to tsan bug to suppression
jochen@chromium.org [Thu, 9 Oct 2014 09:51:21 +0000 (09:51 +0000)]
Add link to tsan bug to suppression

TBR=machenbach@chromium.org
LOG=n
BUG=none

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

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

9 years agoMIPS: Improve runtime detection and compatibility wrt arch. revisions.
dusan.milosavljevic@imgtec.com [Thu, 9 Oct 2014 09:39:23 +0000 (09:39 +0000)]
MIPS: Improve runtime detection and compatibility wrt arch. revisions.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

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

9 years ago[ia32] Better code generation for materialization of float/double constants.
bmeurer@chromium.org [Thu, 9 Oct 2014 09:32:59 +0000 (09:32 +0000)]
[ia32] Better code generation for materialization of float/double constants.

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

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

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

9 years agoIntroduce a tsan suppressions file
jochen@chromium.org [Thu, 9 Oct 2014 09:32:04 +0000 (09:32 +0000)]
Introduce a tsan suppressions file

Also suppress a deliberate lock cycle in test-lockers

BUG=none
R=glider@chromium.org, machenbach@chromium.org
LOG=n

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

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

9 years agoStore local copies of flags needed on the background thread
jochen@chromium.org [Thu, 9 Oct 2014 09:21:46 +0000 (09:21 +0000)]
Store local copies of flags needed on the background thread

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

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

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

9 years ago[turbofan] Add support for ARM64 Ubfx
bmeurer@chromium.org [Thu, 9 Oct 2014 09:18:31 +0000 (09:18 +0000)]
[turbofan] Add support for ARM64 Ubfx

Support selecting Ubfx for shift-mask and mask-shift operations. Also, rename
the shifts to match the instruction names.

BUG=
R=bmeurer@chromium.org

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

Patch from Martyn Capewell <m.m.capewell@googlemail.com>.

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

9 years agoSimplify AST ID generation.
svenpanne@chromium.org [Thu, 9 Oct 2014 08:16:13 +0000 (08:16 +0000)]
Simplify AST ID generation.

Every CompilationInfo has an ID generator now, and it is never
reset/copied/assigned. Simplified FunctionState.

R=mstarzinger@chromium.org

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

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

9 years agoMake Profiler::running_ atomic.
jochen@chromium.org [Thu, 9 Oct 2014 07:51:35 +0000 (07:51 +0000)]
Make Profiler::running_ atomic.

It's used from multiple threads

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

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

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

9 years agoX87: Updates to maintain flag --vector-ics
weiliang.lin@intel.com [Thu, 9 Oct 2014 07:05:20 +0000 (07:05 +0000)]
X87: Updates to maintain flag --vector-ics

port r24548.

original commit message:

   Updates to maintain flag --vector-ics

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoFix tools/run-llprof.sh to work with newer perf.
bmeurer@chromium.org [Thu, 9 Oct 2014 06:01:41 +0000 (06:01 +0000)]
Fix tools/run-llprof.sh to work with newer perf.

R=jarin@chromium.org

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

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

9 years agoMIPS64: Fix TruncatingDiv.
akos.palfi@imgtec.com [Wed, 8 Oct 2014 16:15:28 +0000 (16:15 +0000)]
MIPS64: Fix TruncatingDiv.

- Fix the Macroassembler::TruncatingDiv to compute
  the correct result even when the magic number is negative.
- Fix the MULT instruction in the simulator.

TEST=mjsunit/compiler/division-by-constant
BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoSmarter representation selection for phis.
titzer@chromium.org [Wed, 8 Oct 2014 16:01:18 +0000 (16:01 +0000)]
Smarter representation selection for phis.

R=jarin@chromium.org
BUG=

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

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

9 years agoUpdate unicode to 7.0.0.
yangguo@chromium.org [Wed, 8 Oct 2014 14:55:03 +0000 (14:55 +0000)]
Update unicode to 7.0.0.

And do not use code points with PATTERN_* property for identifier start.
Maintain that \u180E is a white space character.

BUG=v8:2892
LOG=Y
R=dpino@igalia.com, mathias@qiwi.be

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

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

9 years agoClasses: Add support for toString
arv@chromium.org [Wed, 8 Oct 2014 14:48:48 +0000 (14:48 +0000)]
Classes: Add support for toString

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

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

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

9 years agoRemove premordial math functions from native context.
mstarzinger@chromium.org [Wed, 8 Oct 2014 14:42:31 +0000 (14:42 +0000)]
Remove premordial math functions from native context.

R=rossberg@chromium.org

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

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

9 years agoResolve race between starting the profiler thread and the logging timer
jochen@chromium.org [Wed, 8 Oct 2014 14:08:12 +0000 (14:08 +0000)]
Resolve race between starting the profiler thread and the logging timer

BUG=none
TBR=ishell@chromium.org
LOG=n

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

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

9 years agoAdd test for tag pushing in push-to-trunk script.
machenbach@chromium.org [Wed, 8 Oct 2014 13:36:27 +0000 (13:36 +0000)]
Add test for tag pushing in push-to-trunk script.

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

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

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

9 years agoMIPS: Updates to maintain flag --vector-ics
balazs.kilvady@imgtec.com [Wed, 8 Oct 2014 11:55:24 +0000 (11:55 +0000)]
MIPS: Updates to maintain flag --vector-ics

Port r24458 (18af11b)

Original commit message:
Experimental feature vector-ics needs some maintenance.

BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoGet rid of isolate state.
jochen@chromium.org [Wed, 8 Oct 2014 11:51:57 +0000 (11:51 +0000)]
Get rid of isolate state.

it's not thread safe, and there are only initialized isolates now.

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoMake Profiler::tail_ atomic
jochen@chromium.org [Wed, 8 Oct 2014 11:33:31 +0000 (11:33 +0000)]
Make Profiler::tail_ atomic

it's used on several threads

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoMove fdlibm in src/third_party.
ulan@chromium.org [Wed, 8 Oct 2014 11:19:51 +0000 (11:19 +0000)]
Move fdlibm in src/third_party.

BUG=
R=yangguo@chromium.org

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

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

9 years ago[turbofan] Properly emit bounds checks for typed array element loads.
bmeurer@chromium.org [Wed, 8 Oct 2014 11:16:45 +0000 (11:16 +0000)]
[turbofan] Properly emit bounds checks for typed array element loads.

Also fix an awfull bug in simplified lowering.

TEST=cctest,mjsunit/asm
R=mstarzinger@chromium.org

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

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

9 years agoLower NumberMultiply, NumberDivide, and NumberModulus to Int32Mul, Int32[U]Div, and...
titzer@chromium.org [Wed, 8 Oct 2014 10:53:46 +0000 (10:53 +0000)]
Lower NumberMultiply, NumberDivide, and NumberModulus to Int32Mul, Int32[U]Div, and Int32[U]Mod when possible in simplified-lowering.

R=mstarzinger@chromium.org
BUG=

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

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

9 years ago[turbofan] Fix typo in IA-32 code generator.
bmeurer@chromium.org [Wed, 8 Oct 2014 10:44:45 +0000 (10:44 +0000)]
[turbofan] Fix typo in IA-32 code generator.

TEST=benchmarks/octane/zlib
TBR=jarin@chromium.org

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

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

9 years agoCcTest::isolate_used_ is used from multiple threads, make it atomic
jochen@chromium.org [Wed, 8 Oct 2014 09:34:40 +0000 (09:34 +0000)]
CcTest::isolate_used_ is used from multiple threads, make it atomic

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoThe empty husk of a JSFunction is useful to us.
titzer@chromium.org [Wed, 8 Oct 2014 09:23:33 +0000 (09:23 +0000)]
The empty husk of a JSFunction is useful to us.

We hollow out the rotting core and with evil intent repurpose its dry carcass to empower ourselves; with such a shell we can test.

R=mstarzinger@chromium.org

BUG=

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

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

9 years agoUpdates to maintain flag --vector-ics
mvstanton@chromium.org [Wed, 8 Oct 2014 09:15:09 +0000 (09:15 +0000)]
Updates to maintain flag --vector-ics

Experimental feature vector-ics needs some maintenance.

R=yangguo@chromium.org

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

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

9 years agoDon't enable WPO on Win64 and require Server 2003 / x64 for win64
jochen@chromium.org [Wed, 8 Oct 2014 09:09:57 +0000 (09:09 +0000)]
Don't enable WPO on Win64 and require Server 2003 / x64 for win64

WPO was only enabled to work around an issue with the Isolate's static
initializer which no longer exists.

Requiring XP on Win64 doesn't make sense.

BUG=421363
R=machenbach@chromium.org
LOG=y

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

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

9 years agoAvoid unnecessary data race on FLAG_track_double_fields
jochen@chromium.org [Wed, 8 Oct 2014 09:01:43 +0000 (09:01 +0000)]
Avoid unnecessary data race on FLAG_track_double_fields

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoFix race in debugger threads in cctest/test-debug
jochen@chromium.org [Wed, 8 Oct 2014 08:56:57 +0000 (08:56 +0000)]
Fix race in debugger threads in cctest/test-debug

BUG=none
R=svenpanne@chromium.org, ishell@chromium.org
LOG=n

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

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

9 years agoRelax representation requirement in FrameStates.
jarin@chromium.org [Wed, 8 Oct 2014 08:47:29 +0000 (08:47 +0000)]
Relax representation requirement in FrameStates.

This change enables non-tagged representations in FrameStates.

That allows us to run zlib with deoptimization support and have almost the same performance of the generated code (as the code with no deoptimization). Unfortunately, the frame states seem to confuse typer. As a consequence, we generate more representation changes, which in turn causes the scheduler to take a lot more time and memory (>4x). The added compiler time makes zlib with deopt be about 50% slower.

BUG=
R=titzer@chromium.org

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

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

9 years agoFix data races and leaks related to v8::Lockers
jochen@chromium.org [Wed, 8 Oct 2014 08:17:04 +0000 (08:17 +0000)]
Fix data races and leaks related to v8::Lockers

BUG=v8:3618
R=ishell@chromium.org, svenpanne@chromium.org
LOG=n

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

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

9 years ago[turbofan] Reenable value numbering.
bmeurer@chromium.org [Wed, 8 Oct 2014 08:06:59 +0000 (08:06 +0000)]
[turbofan] Reenable value numbering.

Value numbering is now limited to eliminatable operators (i.e. operators
that don't throw and don't write), and uses linear probing instead of
separate chaining.

TEST=unittests
R=svenpanne@chromium.org

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

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

9 years agoFix data race in cctest/test-api/RegExpInterruption
jochen@chromium.org [Wed, 8 Oct 2014 07:41:28 +0000 (07:41 +0000)]
Fix data race in cctest/test-api/RegExpInterruption

BUG=v8:3615
R=yangguo@chromium.org
LOG=n

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

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

9 years ago[turbofan] Fix HashCode/Equals for floating point operators.
bmeurer@chromium.org [Wed, 8 Oct 2014 07:32:07 +0000 (07:32 +0000)]
[turbofan] Fix HashCode/Equals for floating point operators.

Those floating point constant operators require bitwise handling of
their parameters, otherwise 0.0 equals -0.0. This is solved in a
general way by adding new base::bit_equal_to and base::bit_hash
function objects.

TEST=unittests
R=svenpanne@chromium.org

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

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

9 years agoX87: Support for super keyed loads where key is a name.
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:21:42 +0000 (06:21 +0000)]
X87: Support for super keyed loads where key is a name.

port r24403.

original commit message:

  Support for super keyed loads where key is a name.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: [turbofan] support all shift operands on ia32
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:13:22 +0000 (06:13 +0000)]
X87: [turbofan] support all shift operands on ia32

port r24387.

original commit message:
  [turbofan] support all shift operands on ia32

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: Replace OStream with std::ostream.
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:11:22 +0000 (06:11 +0000)]
X87: Replace OStream with std::ostream.

port r24319.

original commit message:

  Replace OStream with std::ostream.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoX87: [turbofan] IA: Uint32ToFloat64 supports mem operand.
weiliang.lin@intel.com [Wed, 8 Oct 2014 06:08:25 +0000 (06:08 +0000)]
X87: [turbofan] IA: Uint32ToFloat64 supports mem operand.

port r24318.

original commit message:
  [turbofan] IA: Uint32ToFloat64 supports mem operand.

BUG=
R=weiliang.lin@intel.com

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

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

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

9 years agoAdd test case demonstrating bug in SparseReverse when combined with getters/setters
adamk@chromium.org [Tue, 7 Oct 2014 19:22:44 +0000 (19:22 +0000)]
Add test case demonstrating bug in SparseReverse when combined with getters/setters

BUG=v8:3612
LOG=N
R=mstarzinger@chromium.org

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

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

9 years agoThis uses a runtime function to set up the the constructor and its
arv@chromium.org [Tue, 7 Oct 2014 16:24:59 +0000 (16:24 +0000)]
This uses a runtime function to set up the the constructor and its
prototype.

This does not add the methods/accessors to the prototype or the
constructor.

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

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

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

9 years agoFix data race on Debug::thread_local_.current_debug_scope_
jochen@chromium.org [Tue, 7 Oct 2014 16:11:31 +0000 (16:11 +0000)]
Fix data race on Debug::thread_local_.current_debug_scope_

BUG=v8:3614
R=yangguo@chromium.org
LOG=n

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

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

9 years agoFix compilation on win64
jochen@chromium.org [Tue, 7 Oct 2014 16:00:44 +0000 (16:00 +0000)]
Fix compilation on win64

TBR=bmeurer@chromium.org
LOG=n
BUG=none

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

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

9 years agoFix data race on CpuProfiler::running_
jochen@chromium.org [Tue, 7 Oct 2014 14:45:17 +0000 (14:45 +0000)]
Fix data race on CpuProfiler::running_

BUG=v8:3613
R=yangguo@chromium.org
LOG=n

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

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

9 years agoFix for assertion failures appeared after StoreTransitionStub implementation.
ishell@chromium.org [Tue, 7 Oct 2014 14:32:19 +0000 (14:32 +0000)]
Fix for assertion failures appeared after StoreTransitionStub implementation.

R=yangguo@chromium.org

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

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

9 years ago[turbofan] Drop broken StaticParameterTraits.
bmeurer@chromium.org [Tue, 7 Oct 2014 13:30:28 +0000 (13:30 +0000)]
[turbofan] Drop broken StaticParameterTraits.

The StaticParameterTraits are broken by design, and cause way too much
trouble. The compilers usually pick the wrong specialization (i.e. the
default specialization is picked for Load and Phi even tho there is a
specialization for MachineType), which is not only the reason why GVN is
ineffective and slow, but can also lead to correctness issues in some
rare cases.

Also clean up some minor bugs/inconsistencies on the way.

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

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

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

9 years agoRemove PersistentBase::ClearAndLeak
jochen@chromium.org [Tue, 7 Oct 2014 12:37:27 +0000 (12:37 +0000)]
Remove PersistentBase::ClearAndLeak

Embedders that used this method to be able to store a Persistent in a
container should use one of the containers in v8-util.h instead.

Other uses are no longer supported.

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

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

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

9 years agoAdd classes-related bailout reasons to DONT_TURBOFAN_NODE
dslomov@chromium.org [Tue, 7 Oct 2014 12:35:06 +0000 (12:35 +0000)]
Add classes-related bailout reasons to DONT_TURBOFAN_NODE

R=mstarzinger@chromium.org

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

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

9 years agoFix bugs in lowering NumberToInt32.
titzer@chromium.org [Tue, 7 Oct 2014 12:18:39 +0000 (12:18 +0000)]
Fix bugs in lowering NumberToInt32.

The backward propagation was different in the lowering phase versus the propagation phase, leading to some missing truncations.

R=bmeurer@chromium.org
BUG=

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

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

9 years agoDo not save/restore AST id generator.
svenpanne@chromium.org [Tue, 7 Oct 2014 12:16:28 +0000 (12:16 +0000)]
Do not save/restore AST id generator.

AST ids only need to be unique, so there is no need to fiddle around with them.

R=dslomov@chromium.org

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

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

9 years agoAdd stack trace to the promise reject callback.
yangguo@chromium.org [Tue, 7 Oct 2014 12:03:55 +0000 (12:03 +0000)]
Add stack trace to the promise reject callback.

R=aandrey@chromium.org
BUG=chromium:393913
LOG=N

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

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

9 years agoAdd tag write access to merge script.
machenbach@chromium.org [Tue, 7 Oct 2014 10:46:04 +0000 (10:46 +0000)]
Add tag write access to merge script.

The script will poll the remote branch until the git updater
has replicated the commit to tag. The tag will then be
directly pushed to git.

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

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

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

9 years agoRemove unnecessary isolate TLS from compiler jobs
jochen@chromium.org [Tue, 7 Oct 2014 09:54:18 +0000 (09:54 +0000)]
Remove unnecessary isolate TLS from compiler jobs

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

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

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

9 years agoClean up manual bit field usage in PreParserExpression
wingo@igalia.com [Tue, 7 Oct 2014 09:20:08 +0000 (09:20 +0000)]
Clean up manual bit field usage in PreParserExpression

Instead of using an integer value and manual bit-fiddling, use C++'s
support for specifying bit sizes for integral types. This way the bits
used to describe a PreParserExpression are handled by the compiler.

BUG=
LOG=
R=svenpanne@chromium.org

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

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

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

9 years agoFixed compilation with older clang versions.
svenpanne@chromium.org [Tue, 7 Oct 2014 09:04:39 +0000 (09:04 +0000)]
Fixed compilation with older clang versions.

TBR=bmeurer@chromium.org

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

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

9 years agoFurther improve hashing of pointers and integers.
bmeurer@chromium.org [Tue, 7 Oct 2014 07:39:19 +0000 (07:39 +0000)]
Further improve hashing of pointers and integers.

Also make sure that the appropriate functions are inlined properly
(using V8_INLINE instead of inline to enforce it even with GCC),
and improve the HashIsOkish unittest.

TEST=unittests
R=svenpanne@chromium.org

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

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

9 years ago[turbofan] Fix lowering of typed loads/stores.
bmeurer@chromium.org [Tue, 7 Oct 2014 07:36:21 +0000 (07:36 +0000)]
[turbofan] Fix lowering of typed loads/stores.

Only JSLoadProperty/JSStoreProperty nodes with external typed arrays can
be lowered to LoadElement/StoreElement, because lowering of non-external
typed arrays would require a map check.

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

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

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

9 years agoIntroduce --job-based-recompilation flag
jochen@chromium.org [Tue, 7 Oct 2014 07:29:24 +0000 (07:29 +0000)]
Introduce --job-based-recompilation flag

The implementation is not yet complete, it doesn't support blocking yet,
and doesn't collect statistics.

This things will be fixed in follow-up CLs.

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

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

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

9 years agoRemove extraneous line from CompareWrapper test
titzer@chromium.org [Mon, 6 Oct 2014 16:26:25 +0000 (16:26 +0000)]
Remove extraneous line from CompareWrapper test

On platforms without TurboFan (PowerPC) the CompareWrapper test was
failing. It appears the line

RawMachineAssemblerTester<int32_t> m;

was causing the issue, and does not appear to be required for the
test to operate correctly. Removing it resolves the crash on non
TurboFan platforms

BUG=
R=titzer@chromium.org

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

Patch from Andrew Low <andrew_low@ca.ibm.com>.

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

9 years agoReland: Add a use counter for Intl.v8BreakIterator
erikcorry@chromium.org [Mon, 6 Oct 2014 15:50:40 +0000 (15:50 +0000)]
Reland: Add a use counter for Intl.v8BreakIterator

This relands https://codereview.chromium.org/619913002/
The test has been fixed to do a GC so it does not appear to leak in
ASAN.  In addition the test has been fixed to work in the no-i18n
build, by incorporating the change from https://codereview.chromium.org/631743002/
R=ishell@chromium.org
BUG=

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

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

9 years agoMIPS: Support for super keyed loads where key is a name.
balazs.kilvady@imgtec.com [Mon, 6 Oct 2014 15:48:56 +0000 (15:48 +0000)]
MIPS: Support for super keyed loads where key is a name.

Port r24403 (891eb62)

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

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

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

9 years agoStage ES6 numeric literals
arv@chromium.org [Mon, 6 Oct 2014 15:40:55 +0000 (15:40 +0000)]
Stage ES6 numeric literals

BUG=
R=rossberg@chromium.org

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

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

9 years agoDon't use identity as hash function for integers.
bmeurer@chromium.org [Mon, 6 Oct 2014 15:23:59 +0000 (15:23 +0000)]
Don't use identity as hash function for integers.

Also slightly improve hashing of floats/doubles.

TEST=unittests
R=jarin@chromium.org

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

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

9 years agoMake asan and lsan make flags work like on the bots.
machenbach@chromium.org [Mon, 6 Oct 2014 15:21:37 +0000 (15:21 +0000)]
Make asan and lsan make flags work like on the bots.

BUG=
R=ishell@chromium.org, jkummerow@chromium.org

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

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

9 years ago[turbofan] fix vreg mapping for instruction selector tests
dcarney@chromium.org [Mon, 6 Oct 2014 14:30:55 +0000 (14:30 +0000)]
[turbofan] fix vreg mapping for instruction selector tests

BUG=
R=bmeurer@chromium.org

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

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

9 years agoRemove FLAG_opt_safe_uint32_operations.
jkummerow@chromium.org [Mon, 6 Oct 2014 13:15:23 +0000 (13:15 +0000)]
Remove FLAG_opt_safe_uint32_operations.

It has been turned on by default for a long time, and hydrogenized BinaryOpStubs actually depend on it being turned on.

BUG=v8:3487
LOG=n
R=ishell@chromium.org

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

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

9 years ago[turbofan] map vregs early
dcarney@chromium.org [Mon, 6 Oct 2014 13:03:04 +0000 (13:03 +0000)]
[turbofan] map vregs early

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

BUG=

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

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