platform/upstream/v8.git
11 years agoSort forward declarations in v8.h in alphabetical order
yurys@chromium.org [Tue, 19 Mar 2013 15:17:22 +0000 (15:17 +0000)]
Sort forward declarations in v8.h in alphabetical order

BUG=None

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

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

11 years agoDisable grokdumps module decoding temporarily.
mstarzinger@chromium.org [Tue, 19 Mar 2013 14:57:42 +0000 (14:57 +0000)]
Disable grokdumps module decoding temporarily.

R=yangguo@chromium.org

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

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

11 years agoTurn Flags into a uint32_t typedef.
verwaest@chromium.org [Tue, 19 Mar 2013 13:11:49 +0000 (13:11 +0000)]
Turn Flags into a uint32_t typedef.

We cannot rely on C++ compilers inferring the int-type from the enum
value range. Whereas Linux/OSX find uint32_t as type for [0,MaxUInt32],
Windows insists it's int.

Update the test to execute its original intent on all platforms: 1 value
larger than max arguments, 1 smaller than max arguments (on all
platforms). This makes the test run a lot faster.

BUG=chromium:194749

Review URL: https://chromiumcodereview.appspot.com/12507010

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

11 years agoIsolatify CPU profiler
yurys@chromium.org [Tue, 19 Mar 2013 12:44:10 +0000 (12:44 +0000)]
Isolatify CPU profiler

BUG=None

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

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

11 years agoReduce storage size of weak callbacks
dcarney@chromium.org [Tue, 19 Mar 2013 10:06:20 +0000 (10:06 +0000)]
Reduce storage size of weak callbacks

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoMIPS: HInnerAllocatedObject instruction allows hydrogen code to carve up allocated...
mvstanton@chromium.org [Tue, 19 Mar 2013 08:41:37 +0000 (08:41 +0000)]
MIPS: HInnerAllocatedObject instruction allows hydrogen code to carve up allocated regions into sub objects.

Port r13928 (ff66bd4bcdb580438d96c610bcbe8852bb127908)

BUG=

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

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

11 years agoAllow recording individual samples in addition to the aggregated CPU profiles
yurys@chromium.org [Tue, 19 Mar 2013 08:11:56 +0000 (08:11 +0000)]
Allow recording individual samples in addition to the aggregated CPU profiles

CPU profiler API is extended with methods that allow to retrieve individual samples from profile. Each sample is presented as a pointer to a node in the top-down profile tree. The samples will let us tie JS performance to time.

BUG=None

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

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

11 years agoMIPS: Allow direct allocation in old pointer space.
palfia@homejinni.com [Mon, 18 Mar 2013 17:56:35 +0000 (17:56 +0000)]
MIPS: Allow direct allocation in old pointer space.

Port r13940 (a39765e7)

BUG=

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

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

11 years agoMove context global handle creation out of Genesis.
mstarzinger@chromium.org [Mon, 18 Mar 2013 17:36:47 +0000 (17:36 +0000)]
Move context global handle creation out of Genesis.

R=jkummerow@chromium.org

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

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

11 years agoFix induction variable detection.
mmassi@chromium.org [Mon, 18 Mar 2013 17:36:24 +0000 (17:36 +0000)]
Fix induction variable detection.

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

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

11 years agoRemove obsolete "previous" field from Genesis.
mstarzinger@chromium.org [Mon, 18 Mar 2013 16:27:58 +0000 (16:27 +0000)]
Remove obsolete "previous" field from Genesis.

R=jkummerow@chromium.org

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

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

11 years agoFix misplaced #endif
rossberg@chromium.org [Mon, 18 Mar 2013 16:18:05 +0000 (16:18 +0000)]
Fix misplaced #endif

R=verwaest@chromium.org
BUG=

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

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

11 years agoUnbreak shared lib build.
rossberg@chromium.org [Mon, 18 Mar 2013 16:04:27 +0000 (16:04 +0000)]
Unbreak shared lib build.

R=verwaest@chromium.org
BUG=

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

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

11 years agoRaise the limit since it is 2**16 (65536) on x64.
verwaest@chromium.org [Mon, 18 Mar 2013 15:49:33 +0000 (15:49 +0000)]
Raise the limit since it is 2**16 (65536) on x64.

Review URL: https://chromiumcodereview.appspot.com/12700012

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

11 years agoMIPS: Load/Store stub compilation refactoring.
palfia@homejinni.com [Mon, 18 Mar 2013 14:42:46 +0000 (14:42 +0000)]
MIPS: Load/Store stub compilation refactoring.

Port r13954 (2ee39c27)

BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.13.
svenpanne@chromium.org [Mon, 18 Mar 2013 14:41:55 +0000 (14:41 +0000)]
Prepare push to trunk.  Now working on version 3.17.13.

R=jkummerow@chromium.org

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

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

11 years agoAdd instrumentation to track down Code::CopyFrom crasher.
mstarzinger@chromium.org [Mon, 18 Mar 2013 14:31:21 +0000 (14:31 +0000)]
Add instrumentation to track down Code::CopyFrom crasher.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoSince v8:13964, flags is uint32, so always use cmp on ARM.
verwaest@chromium.org [Mon, 18 Mar 2013 14:31:08 +0000 (14:31 +0000)]
Since v8:13964, flags is uint32, so always use cmp on ARM.

Review URL: https://chromiumcodereview.appspot.com/12693020

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

11 years agoMore useful result pretty printing for d8
rossberg@chromium.org [Mon, 18 Mar 2013 14:03:15 +0000 (14:03 +0000)]
More useful result pretty printing for d8

For example:

d8> ["hi", 5, [2,3],Object.prototype.toString, {get a() { return a}, b: 9, set a(x) {this.b=x}}, null, undefined]
["hi", 5, [2, 3], function toString() { [native code] }, {get a() { return a}, set a(x) {this.b=x}, b: 9}, null, undefined]

Deactivated in test mode.

R=yangguo@chromium.org
BUG=

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

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

11 years agoPass Isolates explicitly in Deoptimizer-related code.
svenpanne@chromium.org [Mon, 18 Mar 2013 13:57:49 +0000 (13:57 +0000)]
Pass Isolates explicitly in Deoptimizer-related code.

Removed a few ancient useless ASSERTs on the way. Reduced the number of train wrecks.

BUG=v8:2487

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

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

11 years agoUnify kMaxArguments with number of bits used to encode it.
verwaest@chromium.org [Mon, 18 Mar 2013 13:35:17 +0000 (13:35 +0000)]
Unify kMaxArguments with number of bits used to encode it.

Increase the number of bits by 1 by making Flags unsigned.

BUG=chromium:211741

Review URL: https://chromiumcodereview.appspot.com/12886008

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

11 years agoFix detection of |handle_smi| case in HOptimizedGraphBuilder::HandlePolymorphicCallNamed
jkummerow@chromium.org [Mon, 18 Mar 2013 12:41:52 +0000 (12:41 +0000)]
Fix detection of |handle_smi| case in HOptimizedGraphBuilder::HandlePolymorphicCallNamed

BUG=chromium:196583

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

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

11 years agoParallel recompilation: fix off-by-one in deferred handle scope iteration.
yangguo@chromium.org [Mon, 18 Mar 2013 11:26:09 +0000 (11:26 +0000)]
Parallel recompilation: fix off-by-one in deferred handle scope iteration.

R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/12650005

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

11 years agoHandling expression decomposition and array bounds check hoisting: working code with...
mmassi@chromium.org [Mon, 18 Mar 2013 08:06:00 +0000 (08:06 +0000)]
Handling expression decomposition and array bounds check hoisting: working code with lots of debugging PrintFs, postdominance check still missing.

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

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

11 years agoWhen spilling live range with not register uses inside the loop try to move spilling...
vegorov@chromium.org [Fri, 15 Mar 2013 13:25:54 +0000 (13:25 +0000)]
When spilling live range with not register uses inside the loop try to move spilling out of the loop.

This allows to minimize amount of memory moves on the back edge.

R=danno@chromium.org
BUG=

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

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

11 years agoRemove kContext node type introduced in r13936
alph@chromium.org [Fri, 15 Mar 2013 13:07:39 +0000 (13:07 +0000)]
Remove kContext node type introduced in r13936

It has been decided not to pollute node types with extra values.

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

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

11 years agoRemove bottom-up CPU profile
yurys@chromium.org [Fri, 15 Mar 2013 12:46:45 +0000 (12:46 +0000)]
Remove bottom-up CPU profile

Bottom-up view of CPU profile can be restored based on top-down profile data. So there is no need to spend resources on creating both of them inside V8.

BUG=None

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.12.
svenpanne@chromium.org [Fri, 15 Mar 2013 12:38:26 +0000 (12:38 +0000)]
Prepare push to trunk.  Now working on version 3.17.12.

R=jkummerow@chromium.org

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

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

11 years agoLoad/Store stub compilation refactoring.
verwaest@chromium.org [Fri, 15 Mar 2013 12:07:35 +0000 (12:07 +0000)]
Load/Store stub compilation refactoring.

Review URL: https://chromiumcodereview.appspot.com/12426008

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

11 years agoAdded a version of the v8::HandleScope constructor with an Isolate and use that consi...
svenpanne@chromium.org [Fri, 15 Mar 2013 12:06:53 +0000 (12:06 +0000)]
Added a version of the v8::HandleScope constructor with an Isolate and use that consistently.

I tried to limit the use of v8::Isolate::GetCurrent() and v8::internal::Isolate::Current() as much as possible, but sometimes this would have involved restructuring tests quite a bit, which is better left for a separate CL.

BUG=v8:2487

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

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

11 years agoPass Isolate through CompilingCallsToThisStubIsGCSafe calls
svenpanne@chromium.org [Fri, 15 Mar 2013 11:52:58 +0000 (11:52 +0000)]
Pass Isolate through CompilingCallsToThisStubIsGCSafe calls

BUG=v8:2487

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

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

11 years agoParallel recompilation: fix concurrency issues.
yangguo@chromium.org [Thu, 14 Mar 2013 16:35:32 +0000 (16:35 +0000)]
Parallel recompilation: fix concurrency issues.

BUG=

Review URL: https://chromiumcodereview.appspot.com/12831003

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

11 years agoARM: Tweak ECMAToInt32VFP to address regression on Nexus 4
ulan@chromium.org [Thu, 14 Mar 2013 15:28:15 +0000 (15:28 +0000)]
ARM: Tweak ECMAToInt32VFP to address regression on Nexus 4

After r13912, we saw a small regression in Kraken crypto-aes and
crypto-ccm on Nexus 4. This patch, proposed by Rodolph Perfetta,
addresses that without regressing other platforms.

Instead of looking at the exponent of double_input and trying to figure
out if the conversion will overflow, eagerly do the VCVT and return
early unless it saturated.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/12544025
Patch from Hans Wennborg <hans@chromium.org>.

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

11 years agoAllow inlining of functions containing array literals.
mstarzinger@chromium.org [Thu, 14 Mar 2013 15:15:37 +0000 (15:15 +0000)]
Allow inlining of functions containing array literals.

R=jkummerow@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

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

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

11 years agoFixed two register allocator bugs (off-by-one error/failure propagation).
svenpanne@chromium.org [Thu, 14 Mar 2013 14:42:00 +0000 (14:42 +0000)]
Fixed two register allocator bugs (off-by-one error/failure propagation).

Minor cleanups on the way, e.g. making sure that we never use something after an allocation failed. Style question: Should we switch to some kind of MUST_USE_RESULT-style to ensure that we handle failures consistently? Not sure...

BUG=v8:2576

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

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

11 years agoAllow inlining of functions containing function literals.
mstarzinger@chromium.org [Thu, 14 Mar 2013 14:29:10 +0000 (14:29 +0000)]
Allow inlining of functions containing function literals.

R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

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

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

11 years agoMIPS: Fix test262 regression.
palfia@homejinni.com [Thu, 14 Mar 2013 11:08:05 +0000 (11:08 +0000)]
MIPS: Fix test262 regression.

This regression was introduced by r13705 (fd03c7d6)

BUG=test262/data/test/suite/ch11/11.13/11.13.2

Review URL: https://codereview.chromium.org/12844005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoMIPS: Fix AssertName() in MacroAssembler.
palfia@homejinni.com [Thu, 14 Mar 2013 10:59:58 +0000 (10:59 +0000)]
MIPS: Fix AssertName() in MacroAssembler.

This commit fixes several debug mode test failures.

BUG=mjsunit/keyed-call-generic,mjsunit/keyed-call-ic

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

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

11 years agoMIPS: Refactoring Store ICs. A first step towards polymorphic store ICs.
palfia@homejinni.com [Thu, 14 Mar 2013 10:58:21 +0000 (10:58 +0000)]
MIPS: Refactoring Store ICs. A first step towards polymorphic store ICs.

Port r13934 (656ce093)

BUG=

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

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

11 years agoExecute a memory barrier when adding a new page to a space to synchronize access...
hpayer@chromium.org [Thu, 14 Mar 2013 09:15:39 +0000 (09:15 +0000)]
Execute a memory barrier when adding a new page to a space to synchronize access with concurrent sweepers.

BUG=

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

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

11 years agoAllow direct allocation in old pointer space.
hpayer@chromium.org [Thu, 14 Mar 2013 08:32:52 +0000 (08:32 +0000)]
Allow direct allocation in old pointer space.

BUG=

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

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

11 years agoremove latin-1 flag
dcarney@chromium.org [Wed, 13 Mar 2013 20:04:50 +0000 (20:04 +0000)]
remove latin-1 flag

R=yangguo@chromium.org
BUG=

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

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

11 years agoSome Utf8Length microoptimizations
dcarney@chromium.org [Wed, 13 Mar 2013 19:43:45 +0000 (19:43 +0000)]
Some Utf8Length microoptimizations

R=yangguo@chromium.org
BUG=

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

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

11 years agoFix Windows build
alph@chromium.org [Wed, 13 Mar 2013 18:35:30 +0000 (18:35 +0000)]
Fix Windows build

TBR=jkummerow

Review URL: https://codereview.appspot.com/7790043

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

11 years agoFix huge heap snapshot when a heavily shared context has many variables
alph@chromium.org [Wed, 13 Mar 2013 17:38:04 +0000 (17:38 +0000)]
Fix huge heap snapshot when a heavily shared context has many variables

Prevously v8 put a link to each context variable into a function where
the variable is visible.
Because of that if there are N functions sharing a context having M variables
then N*M links were created for the snapshot.
The fix makes v8 to put the links into the context object.

BUG=145687
TEST=test-heap-snapshot/ManyLocalsInSharedContext

Review URL: https://codereview.appspot.com/7715044

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

11 years agoParallel recompilation: fewer handle dereferences and tighter checks.
yangguo@chromium.org [Wed, 13 Mar 2013 16:13:05 +0000 (16:13 +0000)]
Parallel recompilation: fewer handle dereferences and tighter checks.

BUG=

Review URL: https://chromiumcodereview.appspot.com/12832002

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

11 years agoRefactoring Store ICs. A first step towards polymorphic store ICs.
verwaest@chromium.org [Wed, 13 Mar 2013 14:11:05 +0000 (14:11 +0000)]
Refactoring Store ICs. A first step towards polymorphic store ICs.

Review URL: https://chromiumcodereview.appspot.com/12781004

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

11 years agoMade AdjustAmountOfExternalAllocatedMemory an instance method of Isolate
svenpanne@chromium.org [Wed, 13 Mar 2013 13:15:09 +0000 (13:15 +0000)]
Made AdjustAmountOfExternalAllocatedMemory an instance method of Isolate

BUG=v8:2487

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

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

11 years agoremove maynamedaccess checks
dcarney@chromium.org [Wed, 13 Mar 2013 13:14:25 +0000 (13:14 +0000)]
remove maynamedaccess checks

R=svenpanne@chromium.org
BUG=

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

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

11 years agoIn ArrayConstructor_StubFailure the transition elements kind was
mvstanton@chromium.org [Wed, 13 Mar 2013 13:03:59 +0000 (13:03 +0000)]
In ArrayConstructor_StubFailure the transition elements kind was
ignored on allocation.

BUG=

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

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

11 years agoRemove unused field.
yangguo@chromium.org [Wed, 13 Mar 2013 11:44:07 +0000 (11:44 +0000)]
Remove unused field.

BUG=

Review URL: https://chromiumcodereview.appspot.com/12789004

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

11 years agoUse IsRuntimeEntry for RUNTIME_ENTRY comparison
danno@chromium.org [Wed, 13 Mar 2013 11:40:26 +0000 (11:40 +0000)]
Use IsRuntimeEntry for RUNTIME_ENTRY comparison

Review URL: https://codereview.chromium.org/12702005
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoHInnerAllocatedObject instruction allows hydrogen code to carve up
mvstanton@chromium.org [Wed, 13 Mar 2013 11:05:48 +0000 (11:05 +0000)]
HInnerAllocatedObject instruction allows hydrogen code to carve up
allocated regions into sub objects.

BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.11.
ulan@chromium.org [Wed, 13 Mar 2013 09:30:31 +0000 (09:30 +0000)]
Prepare push to trunk.  Now working on version 3.17.11.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/12827002

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

11 years agoDateField cache should check the ExternalOperand instead of ExternalReference on X64
yangguo@chromium.org [Wed, 13 Mar 2013 09:28:08 +0000 (09:28 +0000)]
DateField cache should check the ExternalOperand instead of ExternalReference on X64

Review URL: https://chromiumcodereview.appspot.com/12637025
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

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

11 years agoUse InternalArray in Object.getOwnPropertyNames() implementation
adamk@chromium.org [Tue, 12 Mar 2013 20:15:03 +0000 (20:15 +0000)]
Use InternalArray in Object.getOwnPropertyNames() implementation

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

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

11 years agoParallel recompilation: remove interrupt for code generation.
yangguo@chromium.org [Tue, 12 Mar 2013 18:03:18 +0000 (18:03 +0000)]
Parallel recompilation: remove interrupt for code generation.

R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/12488006

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

11 years agoRename android_build_type to android_webview_build.
yangguo@chromium.org [Tue, 12 Mar 2013 17:35:33 +0000 (17:35 +0000)]
Rename android_build_type to android_webview_build.

Rename this gyp variable to something meaningful to better explain what
it actually does.

BUG=184431

Review URL: https://chromiumcodereview.appspot.com/12605007
Patch from Richard Coles <torne@chromium.org>.

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

11 years agoCorrectly override parallel recompilation flag for test case.
yangguo@chromium.org [Tue, 12 Mar 2013 17:33:51 +0000 (17:33 +0000)]
Correctly override parallel recompilation flag for test case.

R=mstarzinger@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/12655006

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

11 years agoPolymorphism support for numbers and strings
verwaest@chromium.org [Tue, 12 Mar 2013 17:01:03 +0000 (17:01 +0000)]
Polymorphism support for numbers and strings

Necessary to support fast polymorphic toString.

Review URL: https://chromiumcodereview.appspot.com/12702002

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

11 years agoUse an efficient graph constant in CodeStubGraphBuilderBase::BuildGraph().
mvstanton@chromium.org [Tue, 12 Mar 2013 15:37:23 +0000 (15:37 +0000)]
Use an efficient graph constant in CodeStubGraphBuilderBase::BuildGraph().
Improve printing for HReturn.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoARM: Optimsisation of ECMA ToInt32.
rodolph.perfetta@gmail.com [Tue, 12 Mar 2013 11:25:50 +0000 (11:25 +0000)]
ARM: Optimsisation of ECMA ToInt32.

BUG=none
TEST=none

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

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

11 years agoConsistently pass a Heap* to HashTable-related AsObject methods.
svenpanne@chromium.org [Tue, 12 Mar 2013 10:05:42 +0000 (10:05 +0000)]
Consistently pass a Heap* to HashTable-related AsObject methods.

This is basically a follow-up CL to https://code.google.com/p/v8/source/detail?r=13908.

BUG=v8:2487

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

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

11 years agoMIPS: To fully support hydrogen code stubs which accept a variable number of argument...
mvstanton@chromium.org [Tue, 12 Mar 2013 09:06:23 +0000 (09:06 +0000)]
MIPS: To fully support hydrogen code stubs which accept a variable number of arguments, the HReturn/LReturn instruction needs to be able to determine argument count from a stack evaluation rather than as a constant from scope.

Port r13888 (33905114)

BUG=

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

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

11 years agoUnbreak readline support.
svenpanne@chromium.org [Tue, 12 Mar 2013 08:00:20 +0000 (08:00 +0000)]
Unbreak readline support.

Things are still far from being nice, the editor registration/handling in d8 is
still embarrassing. Nevertheless things work with readline support again. Fixed
a missing Locker on the way.

TBR=adamk@chromium.org

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

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

11 years agoAdded an Isolate parameter to some HashTable/Dictionary methods. TypeFeedbackOracle...
svenpanne@chromium.org [Tue, 12 Mar 2013 07:06:36 +0000 (07:06 +0000)]
Added an Isolate parameter to some HashTable/Dictionary methods. TypeFeedbackOracle tweaks.

BUG=v8:2487

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

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

11 years agoCleanup the copying of ICs to the Megamorphic Code Cache
verwaest@chromium.org [Mon, 11 Mar 2013 15:11:39 +0000 (15:11 +0000)]
Cleanup the copying of ICs to the Megamorphic Code Cache

Review URL: https://chromiumcodereview.appspot.com/12521007

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

11 years agoMIPS: Fix white space matching in latin-1 strings wrt \u00a0.
palfia@homejinni.com [Mon, 11 Mar 2013 14:17:32 +0000 (14:17 +0000)]
MIPS: Fix white space matching in latin-1 strings wrt \u00a0.

Port r13898 (bcc5b57f)

BUG=

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

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

11 years agoUse direct jump and call instruction for X64 when the deoptimization entries are...
danno@chromium.org [Mon, 11 Mar 2013 14:11:03 +0000 (14:11 +0000)]
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.

Review URL: https://codereview.chromium.org/11574027
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoRevert r13901 to reland with proper credit to external contributor.
danno@chromium.org [Mon, 11 Mar 2013 14:09:21 +0000 (14:09 +0000)]
Revert r13901 to reland with proper credit to external contributor.

TBR=svenpanne@chromium.org

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

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

11 years agoUse direct jump and call instruction for X64 when the deoptimization entries are...
danno@chromium.org [Mon, 11 Mar 2013 14:05:49 +0000 (14:05 +0000)]
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.

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

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

11 years agoMIPS: fix NaN handling of Isolate::StackOverflow()
palfia@homejinni.com [Mon, 11 Mar 2013 13:30:39 +0000 (13:30 +0000)]
MIPS: fix NaN handling of Isolate::StackOverflow()

The mjsunit/stack-traces-overflow.js test fails on MIPS target as Error.stackTraceLimit = NaN; should disable stack trace messages and Isolate::StackOverflow() assumes static_cast<int>(double NaN) < 0.

MIPS has a different NaN representation than other architectures so the NaN value casted to int is positive. This patch adds an isnan() check to make the handling of NaN uniform on all architectures.

BUG=

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

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

11 years agoSimplify PreParser::ParsePrimaryExpression
mstarzinger@chromium.org [Mon, 11 Mar 2013 12:44:38 +0000 (12:44 +0000)]
Simplify PreParser::ParsePrimaryExpression

* src/preparser.cc (PreParser::ParsePrimaryExpression): No need to check
  keywords for validity as identifiers, as ParseIdentifier (called in
  the fallthrough) will take care of it.

Covered by existing tests.

BUG=

Review URL: https://codereview.chromium.org/12600004
Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoFix white space matching in latin-1 strings wrt \u00a0.
yangguo@chromium.org [Mon, 11 Mar 2013 11:52:11 +0000 (11:52 +0000)]
Fix white space matching in latin-1 strings wrt \u00a0.

R=dcarney@chromium.org
BUG=181422

Review URL: https://chromiumcodereview.appspot.com/12644008

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

11 years agoFix heap snapshot creation for Harmony collections.
mstarzinger@chromium.org [Mon, 11 Mar 2013 11:31:53 +0000 (11:31 +0000)]
Fix heap snapshot creation for Harmony collections.

R=yangguo@chromium.org
BUG=v8:2535
TEST=cctest/test-api/Regress2535

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

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

11 years agoFix assert in Page::Initialize.
ulan@chromium.org [Mon, 11 Mar 2013 11:01:00 +0000 (11:01 +0000)]
Fix assert in Page::Initialize.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11275229

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

11 years agoWait in heap tests for active concurrent sweeper threads.
hpayer@chromium.org [Mon, 11 Mar 2013 10:23:24 +0000 (10:23 +0000)]
Wait in heap tests for active concurrent sweeper threads.

BUG=

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

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

11 years agoConsistently unlink evacuation candidates before sweeping.
mstarzinger@chromium.org [Mon, 11 Mar 2013 10:11:57 +0000 (10:11 +0000)]
Consistently unlink evacuation candidates before sweeping.

R=hpayer@chromium.org

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

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

11 years agoMIPS: Unify deoptimizer for stub failure trampoline frames.
palfia@homejinni.com [Mon, 11 Mar 2013 09:58:45 +0000 (09:58 +0000)]
MIPS: Unify deoptimizer for stub failure trampoline frames.

Port r13887 (6d146270)

Original commit message:
This unifies the translation of a compiled stub frame to a stub failure
trampoline frame. Only the frame's register allocation is different on
each architecture and can be factored out.

BUG=

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

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

11 years agoMIPS: Fix debug mode related porting mistakes.
palfia@homejinni.com [Mon, 11 Mar 2013 09:56:51 +0000 (09:56 +0000)]
MIPS: Fix debug mode related porting mistakes.

This commit fixes bugs in commit r13874 and in r13876.

BUG=

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

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

11 years agoFixed register allocation corner case.
svenpanne@chromium.org [Mon, 11 Mar 2013 09:49:00 +0000 (09:49 +0000)]
Fixed register allocation corner case.

The predicate CanBeSpilled had a bug, prohibiting the necessary spilling and
correct splitting of live ranges. Removed a redundant assertion immediately done
by the callee anyway.

Thanks to Slava for help with that issue and the entertaining historical
background of the whole story... ;-)

BUG=177883

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

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

11 years agoIn the absence of type feedback, pessimistically force Tagged representation for...
jkummerow@chromium.org [Mon, 11 Mar 2013 08:42:07 +0000 (08:42 +0000)]
In the absence of type feedback, pessimistically force Tagged representation for UnaryAdd

BUG=v8:2527

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

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

11 years agoRevert "Add .dir-locals.el."
svenpanne@chromium.org [Mon, 11 Mar 2013 08:16:22 +0000 (08:16 +0000)]
Revert "Add .dir-locals.el."

After some discussions, this seems to be the wrong approach. We should probably
either link to the Google style guide and its related configuration files, or
even add a Makefile target for downloading it.

Furthermore, with this change Emacs keeps popping up an annoying confirmation
window for new files.

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

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

11 years agoTo fully support hydrogen code stubs which accept a variable number of arguments,
mvstanton@chromium.org [Fri, 8 Mar 2013 21:07:55 +0000 (21:07 +0000)]
To fully support hydrogen code stubs which accept a variable number of arguments,
the HReturn/LReturn instruction needs to be able to determine argument count
from a stack evaluation rather than as a constant from scope.

R=danno@chromium.org
BUG=

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

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

11 years agoUnify deoptimizer for stub failure trampoline frames.
mstarzinger@chromium.org [Fri, 8 Mar 2013 16:18:50 +0000 (16:18 +0000)]
Unify deoptimizer for stub failure trampoline frames.

This unifies the translation of a compiled stub frame to a stub failure
trampoline frame. Only the frame's register allocation is different on
each architecture and can be factored out.

R=danno@chromium.org

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

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

11 years agoUnlink evacuation candidates from list of pages before starting sweeper threads.
hpayer@chromium.org [Fri, 8 Mar 2013 14:41:21 +0000 (14:41 +0000)]
Unlink evacuation candidates from list of pages before starting sweeper threads.
Removed FinalizeSweeping().

BUG=

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

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

11 years agoEnsure runtime functions have a NoHandleAllocation scope.
mstarzinger@chromium.org [Fri, 8 Mar 2013 14:11:58 +0000 (14:11 +0000)]
Ensure runtime functions have a NoHandleAllocation scope.

R=svenpanne@chromium.org

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

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

11 years agoAdd .dir-locals.el.
svenpanne@chromium.org [Fri, 8 Mar 2013 13:47:58 +0000 (13:47 +0000)]
Add .dir-locals.el.

* .dir-locals.el: New file, to help Emacs users produce better
  changesets.  In particular, prevents automatic copyright year
  updates.

BUG=

Review URL: https://codereview.chromium.org/12687003
Patch from  Andy Wingo <wingo@igalia.com>.

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

11 years agoPrepare push to trunk. Now working on version 3.17.10.
svenpanne@chromium.org [Fri, 8 Mar 2013 13:12:50 +0000 (13:12 +0000)]
Prepare push to trunk.  Now working on version 3.17.10.

R=yangguo@chromium.org

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

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

11 years agoRestore Function()'s expected string representation.
mstarzinger@chromium.org [Fri, 8 Mar 2013 11:47:20 +0000 (11:47 +0000)]
Restore Function()'s expected string representation.

R=rossberg@chromium.org
BUG=v8:2470
TEST=mjsunit/regress/regress-2470

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

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

11 years agoEnable deprecatations (again).
svenpanne@chromium.org [Fri, 8 Mar 2013 08:37:28 +0000 (08:37 +0000)]
Enable deprecatations (again).

Hopefully we will win the race this time...

BUG=v8:2487

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

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

11 years agoMIPS: Unify grow mode and stub kind
palfia@homejinni.com [Fri, 8 Mar 2013 00:55:24 +0000 (00:55 +0000)]
MIPS: Unify grow mode and stub kind

Port r13850 (bb94d408)

Original commit message:
In the process, ensure that transition-causing element stores handle all cases of the transitioned receiver map.

BUG=

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

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

11 years agoMIPS: Cleaned up CpuFeature scope handling.
palfia@homejinni.com [Fri, 8 Mar 2013 00:54:19 +0000 (00:54 +0000)]
MIPS: Cleaned up CpuFeature scope handling.

Port r13823 (cb37ab63)

BUG=

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

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

11 years agoMIPS: Make IC patching resilient to flushing of the original target() ic.
palfia@homejinni.com [Fri, 8 Mar 2013 00:52:37 +0000 (00:52 +0000)]
MIPS: Make IC patching resilient to flushing of the original target() ic.

Port r13831 (52d6fd70)

BUG=

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

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

11 years agoMIPS: ES6 symbols: Allow symbols as property names
palfia@homejinni.com [Fri, 8 Mar 2013 00:49:28 +0000 (00:49 +0000)]
MIPS: ES6 symbols: Allow symbols as property names

Port r13811 (0e64f280)

Original commit message:
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler).

Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h.

(Baseline CL: https://codereview.chromium.org/12296026/)

BUG=

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

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

11 years agoMIPS: Polymorphism support for load IC.
palfia@homejinni.com [Fri, 8 Mar 2013 00:46:45 +0000 (00:46 +0000)]
MIPS: Polymorphism support for load IC.

Port r13801 (6de52924)

BUG=

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

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

11 years agoMIPS: Fixed ASSERT in commit r13807.
palfia@homejinni.com [Fri, 8 Mar 2013 00:44:52 +0000 (00:44 +0000)]
MIPS: Fixed ASSERT in commit r13807.

BUG=

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

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

11 years agoMIPS: ES6 symbols: Implement Symbol intrinsic and basic functionality
palfia@homejinni.com [Fri, 8 Mar 2013 00:42:59 +0000 (00:42 +0000)]
MIPS: ES6 symbols: Implement Symbol intrinsic and basic functionality

Port r13786 (b5e7a82a)

Original commit message:
- Add --harmony-symbols flag.
- Add Symbol constructor; allow symbols as (unreplaced) return value from constructors.
- Introduce %CreateSymbol and %_IsSymbol natives and respective instructions.
- Extend 'typeof' code generation to handle symbols.
- Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols.
- Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method.
- Extend Object.prototype.toString to recognise symbols.

Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object).

(Baseline CL: https://codereview.chromium.org/12223071/)

BUG=

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

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

11 years agoReintroduce lost space in r13867.
mstarzinger@chromium.org [Thu, 7 Mar 2013 16:59:18 +0000 (16:59 +0000)]
Reintroduce lost space in r13867.

R=rossberg@chromium.org

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

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

11 years agoAvoid bool to Oddball conversions by being lazy.
yangguo@chromium.org [Thu, 7 Mar 2013 16:22:19 +0000 (16:22 +0000)]
Avoid bool to Oddball conversions by being lazy.

R=svenpanne@chromium.org
BUG=v8:2491

Review URL: https://chromiumcodereview.appspot.com/12459011

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