platform/upstream/v8.git
11 years agoSet unswept free bytes for concurent sweeper.
hpayer@chromium.org [Thu, 28 Feb 2013 15:07:28 +0000 (15:07 +0000)]
Set unswept free bytes for concurent sweeper.

BUG=

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

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

11 years agoMinor cleanup of CompareIC state
rossberg@chromium.org [Thu, 28 Feb 2013 14:43:57 +0000 (14:43 +0000)]
Minor cleanup of CompareIC state

Allow transitioning from KNOWN_OBJECT to KNONW_OBJECT or OBJECT.
Also, rename HEAP_NUMBER IC states to NUMBER, since they handle Smis, too.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoRevert "Reapply optimization of DeoptimizeIf for ia32." (r13767)
mstarzinger@chromium.org [Thu, 28 Feb 2013 11:24:18 +0000 (11:24 +0000)]
Revert "Reapply optimization of DeoptimizeIf for ia32." (r13767)

This optimization turns out to have a negative effect on i5 processors
throughout the board. This needs further investigation to figure out
the underlying reason but will be rolled out for now.

R=danno@chromium.org

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

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

11 years agoFix math.round with SSE4.1.
yangguo@chromium.org [Thu, 28 Feb 2013 10:39:34 +0000 (10:39 +0000)]
Fix math.round with SSE4.1.

R=verwaest@chromium.org
BUG=

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

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

11 years agoFix wrong test in r13766 (Insert conversion to string in string.replace).
yangguo@chromium.org [Wed, 27 Feb 2013 15:36:02 +0000 (15:36 +0000)]
Fix wrong test in r13766 (Insert conversion to string in string.replace).

R=ulan@chromium.org
BUG=

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

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

11 years agoOrder arguments of ComputeMonomorphicFlags to match ComputeFlags.
verwaest@chromium.org [Wed, 27 Feb 2013 15:33:37 +0000 (15:33 +0000)]
Order arguments of ComputeMonomorphicFlags to match ComputeFlags.

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

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

11 years agoCurrently this mostly just moves code around.
verwaest@chromium.org [Wed, 27 Feb 2013 15:28:53 +0000 (15:28 +0000)]
Currently this mostly just moves code around.
- Later the different parts will become individual code objects that tailcall into one another.
- The mapcheck/symbol check still needs to be separated from the overall prototype-chain check so that the ICs can reuse the handlers.

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

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

11 years agoReapply optimization of DeoptimizeIf for ia32 broken in r13633.
mstarzinger@chromium.org [Wed, 27 Feb 2013 15:17:27 +0000 (15:17 +0000)]
Reapply optimization of DeoptimizeIf for ia32 broken in r13633.

R=danno@chromium.org

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

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

11 years agoInsert conversion to string in string.replace.
yangguo@chromium.org [Wed, 27 Feb 2013 15:12:30 +0000 (15:12 +0000)]
Insert conversion to string in string.replace.
(missing since r13761)

R=ulan@chromium.org
BUG=

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

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

11 years agoMiscellaneous profile-driven Isolate plumbing.
svenpanne@chromium.org [Wed, 27 Feb 2013 14:45:59 +0000 (14:45 +0000)]
Miscellaneous profile-driven Isolate plumbing.

While doing this, it became clear that quite a few functions should not be
static and should better live in various classes as instance methods, but I'll
leave this for a later CL.

BUG=v8:2487

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

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

11 years agoHandle negative input in inlined Math.round on Intel CPUs.
yangguo@chromium.org [Wed, 27 Feb 2013 14:44:57 +0000 (14:44 +0000)]
Handle negative input in inlined Math.round on Intel CPUs.

R=jkummerow@chromium.org
BUG=v8:2451

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

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

11 years agoFix materialization of arguments objects with unknown values.
mstarzinger@chromium.org [Wed, 27 Feb 2013 14:37:51 +0000 (14:37 +0000)]
Fix materialization of arguments objects with unknown values.

This fixes the deoptimizer to materialize arguments objects of correct
length even in cases where the actual argument values are unknown and
were optimized away by Crankshaft. This can happen if only the length
property or the identity of an arguments object is used.

R=svenpanne@chromium.org
BUG=chromium:163530
TEST=mjsunit/regress/regress-crbug-163530

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

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

11 years agoMake message listener API backwards compatible.
yangguo@chromium.org [Wed, 27 Feb 2013 14:35:39 +0000 (14:35 +0000)]
Make message listener API backwards compatible.

R=ulan@chromium.org
BUG=

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

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

11 years agoRefactor implementation for String.prototype.replace.
yangguo@chromium.org [Wed, 27 Feb 2013 14:14:45 +0000 (14:14 +0000)]
Refactor implementation for String.prototype.replace.

R=ulan@chromium.org
BUG=

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

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

11 years agoIncrease acceptable boot up memory size in tests for parallel sweeper threads.
hpayer@chromium.org [Wed, 27 Feb 2013 13:38:29 +0000 (13:38 +0000)]
Increase acceptable boot up memory size in tests for parallel sweeper threads.

BUG=

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

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

11 years agoAvoid TLS accesses in Object::Lookup and Object::GetPrototype.
svenpanne@chromium.org [Wed, 27 Feb 2013 13:22:29 +0000 (13:22 +0000)]
Avoid TLS accesses in Object::Lookup and Object::GetPrototype.

Both methods were among the top causes for TLS accesses.

BUG=v8:2487

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

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

11 years agoShrinking of PagedSpace is done only by sweeper.
hpayer@chromium.org [Wed, 27 Feb 2013 12:59:52 +0000 (12:59 +0000)]
Shrinking of PagedSpace is done only by sweeper.

BUG=

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

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

11 years agoAdded system thread manager class.
hpayer@chromium.org [Wed, 27 Feb 2013 12:55:55 +0000 (12:55 +0000)]
Added system thread manager class.

BUG=

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

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

11 years agoAdded Isolate parameter to CodeStub::GetCode().
svenpanne@chromium.org [Wed, 27 Feb 2013 12:33:24 +0000 (12:33 +0000)]
Added Isolate parameter to CodeStub::GetCode().

According to gprof, this was the #1 cause for TLS access during an Octane run.

BUG=v8:2487

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

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

11 years agoAvoid HEAP macro in spaces.cc
svenpanne@chromium.org [Wed, 27 Feb 2013 12:30:23 +0000 (12:30 +0000)]
Avoid HEAP macro in spaces.cc

This was another top cause for TLS access.

BUG=v8:2487

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

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

11 years agoNormalized map copies should not share code caches
jkummerow@chromium.org [Wed, 27 Feb 2013 12:17:50 +0000 (12:17 +0000)]
Normalized map copies should not share code caches

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

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

11 years agoDisable regress-crbug-160010 for Android because it triggers OOM.
ulan@chromium.org [Wed, 27 Feb 2013 12:14:21 +0000 (12:14 +0000)]
Disable regress-crbug-160010 for Android because it triggers OOM.

R=yangguo@chromium.org

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

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

11 years agoARM: Fix disassembly of some VFP instructions with condition codes
ulan@chromium.org [Wed, 27 Feb 2013 11:52:45 +0000 (11:52 +0000)]
ARM: Fix disassembly of some VFP instructions with condition codes

Previously, we would disassemble some VFP instructions like this:

  vmla.f64eq d16, d17, d18

This patch moves the condition to the right place:

  vmlaeq.f64 d16, d17, d18

Spotted by Rodolph Perfetta!

BUG=none

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

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

11 years agoInteger HConstants don't need to kDependsOnOsrEntries
jkummerow@chromium.org [Wed, 27 Feb 2013 11:40:25 +0000 (11:40 +0000)]
Integer HConstants don't need to kDependsOnOsrEntries

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

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

11 years agoClean up mjsunit/array-bounds-check-removal
jkummerow@chromium.org [Wed, 27 Feb 2013 10:50:37 +0000 (10:50 +0000)]
Clean up mjsunit/array-bounds-check-removal

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

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

11 years agoSet default number of sweeper threads to two.
hpayer@chromium.org [Wed, 27 Feb 2013 10:35:34 +0000 (10:35 +0000)]
Set default number of sweeper threads to two.

BUG=

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

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

11 years agoEmit VMLS for multiply-subtract on ARM.
ulan@chromium.org [Wed, 27 Feb 2013 10:24:40 +0000 (10:24 +0000)]
Emit VMLS for multiply-subtract on ARM.

BUG=none

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.6.
mstarzinger@chromium.org [Wed, 27 Feb 2013 09:28:05 +0000 (09:28 +0000)]
Prepare push to trunk.  Now working on version 3.17.6.

R=jkummerow@chromium.org

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

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

11 years agoFix SSE2 scope being too broad in DoCmpIDAndBranch.
mstarzinger@chromium.org [Tue, 26 Feb 2013 18:12:27 +0000 (18:12 +0000)]
Fix SSE2 scope being too broad in DoCmpIDAndBranch.

R=ulan@chromium.org

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

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

11 years agoMIPS: Combine %_SubString and %_StringCharAt.
palfia@homejinni.com [Tue, 26 Feb 2013 17:48:14 +0000 (17:48 +0000)]
MIPS: Combine %_SubString and %_StringCharAt.

Port r13700 (587dc7c1)

BUG=

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

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

11 years agoRemove duplication and unnecessary HandleScope from HasElement helper functions
adamk@chromium.org [Tue, 26 Feb 2013 17:20:21 +0000 (17:20 +0000)]
Remove duplication and unnecessary HandleScope from HasElement helper functions

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

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

11 years agoSend SIGPROF signals on the profiler event processor thread
yurys@chromium.org [Tue, 26 Feb 2013 16:15:32 +0000 (16:15 +0000)]
Send SIGPROF signals on the profiler event processor thread

The patch is based on the previous one that was rolled out: https://code.google.com/p/v8/source/detail?r=12985

On Linux sampling for CPU profiler is initiated on the profiler event processor thread, other platforms to follow.

CPU profiler continues to use SamplingCircularQueue, we will replave it with a single sample buffer when Mac and Win ports support profiling on the event processing thread.

When --prof option is specified profiling is initiated either on the profiler event processor thread if CPU profiler is on or on the  SignalSender thread as it used to if no CPU profiles are being collected.

ProfilerEventsProcessor::ProcessEventsAndDoSample now waits in a tight loop, processing collected samples until sampling interval expires. To save CPU resources I'm planning to change that to use nanosleep as only one sample is expected in the queue at any point.

BUG=v8:2364

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

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

11 years ago[Android] Fix v8_shell compilation for Android component build.
ulan@chromium.org [Tue, 26 Feb 2013 15:41:04 +0000 (15:41 +0000)]
[Android] Fix v8_shell compilation for Android component build.

r12883 was in complete because the library was included for host and
target. Restrict to just target.

BUG=chromium:158821

Review URL: https://chromiumcodereview.appspot.com/12314118
Patch from Yaron Friedman <yfriedman@chromium.org>.

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

11 years agoVisit stored context when iterating stack for optimized stub.
ulan@chromium.org [Tue, 26 Feb 2013 14:24:16 +0000 (14:24 +0000)]
Visit stored context when iterating stack for optimized stub.

BUG=v8:2509
TEST=mjsunit/regress/regress-1125,NavierStokes fails on Nexus 10.
R=mstarzinger@chromium.org

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

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

11 years agoCompile FastCloneShallowObjectStub using Crankshaft.
mstarzinger@chromium.org [Tue, 26 Feb 2013 13:08:08 +0000 (13:08 +0000)]
Compile FastCloneShallowObjectStub using Crankshaft.

This changes FastCloneShallowObjectStub to be compiled independent of
the target architecture. It also adds tracing to the deoptimizer for
compiled stubs and contains some minor bugfixes.

R=danno@chromium.org

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

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

11 years agoUse boolean instead of Atomic32 for is_profiling_ flag
yurys@chromium.org [Tue, 26 Feb 2013 12:27:55 +0000 (12:27 +0000)]
Use boolean instead of Atomic32 for is_profiling_ flag

The field is only accessed on the JS thread so it can be converted into bool.

BUG=None

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

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

11 years agoFix overflow in WriteQuoteJsonString and SlowQuoteJsonString
dcarney@chromium.org [Tue, 26 Feb 2013 11:02:39 +0000 (11:02 +0000)]
Fix overflow in WriteQuoteJsonString and SlowQuoteJsonString

R=yangguo@chromium.org
BUG=

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

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

11 years agoFix bogus regexp test.
yangguo@chromium.org [Tue, 26 Feb 2013 10:49:59 +0000 (10:49 +0000)]
Fix bogus regexp test.

The reason this test fails on ARM hardware but not on Intel hardware
(including the ARM simulator) is this:
'\xa0' is interpreted as a negative signed byte number. Casting it to
uc16 sign-extends it. The resulting string does not fit into a one-byte
string, thus a two-byte string is allocated.
For some reason the code compiled for ARM does not sign-extend, and 0xa0
fits into a one-byte string. Thus a one-byte string is allocated. Trying
to cast it to two-byte causes assertion failure.

BUG=

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

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

11 years agoMake __proto__ a foreign callback on Object.prototype.
mstarzinger@chromium.org [Tue, 26 Feb 2013 10:46:00 +0000 (10:46 +0000)]
Make __proto__ a foreign callback on Object.prototype.

This moves the __proto__ property to Object.prototype and turns it into
a callback property actually present in the descriptor array as opposed
to a hack in the properties lookup. For now it still is a "magic" data
property using foreign callbacks and not an accessor property visible to
JavaScript.

The second effect of this change is that JSON.parse() no longer treats
the __proto__ property specially, it will be defined as any other data
property. Note that object literals still have their special handling.

R=rossberg@chromium.org
BUG=v8:621,v8:1949,v8:2441
TEST=mjsunit,cctest,test262

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

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

11 years agoRefactor RegExpStub to check lazily.
yangguo@chromium.org [Tue, 26 Feb 2013 09:53:07 +0000 (09:53 +0000)]
Refactor RegExpStub to check lazily.

R=ulan@chromium.org
BUG=

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

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

11 years agoMove extensibility check to the top of Object.isFrozen/Object.isSealed
adamk@chromium.org [Mon, 25 Feb 2013 19:44:21 +0000 (19:44 +0000)]
Move extensibility check to the top of Object.isFrozen/Object.isSealed

This speeds up isFrozen/isSealed checks on "normal" objects without
slowing down checks on frozen/sealed objects.

Though this ordering is not what ES5 specifies, the difference is not
observable (especially since the code bails out if the passed-in object
is a proxy).

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

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

11 years agoSpeed up non-interceptor case of Object.getOwnPropertyNames
adamk@chromium.org [Mon, 25 Feb 2013 18:58:47 +0000 (18:58 +0000)]
Speed up non-interceptor case of Object.getOwnPropertyNames

When there are interceptors on an object, it's possible to
end up with duplicate property names. But when all the names
are provided by v8, a collision is not possible, so we can
fast-path that case by not de-duping.

Also added better test coverage for interceptor API.

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

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

11 years agoDebugger: ScopeMirror has N^2 algorithm when building closure mirrors. (take 2).
ulan@chromium.org [Mon, 25 Feb 2013 16:46:54 +0000 (16:46 +0000)]
Debugger: ScopeMirror has N^2 algorithm when building closure mirrors. (take 2).

Review URL: https://chromiumcodereview.appspot.com/12326103
Patch from Pavel Feldman <pfeldman@chromium.org>.

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

11 years agoMIPS: Add android build support for mips in gyp.
jkummerow@chromium.org [Mon, 25 Feb 2013 16:39:03 +0000 (16:39 +0000)]
MIPS: Add android build support for mips in gyp.

Added mipsel target in gyp and makefiles used for android build.

BUG=

Review URL: https://codereview.chromium.org/12248014
Patch from Paul Lind <plind44@gmail.com>.

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

11 years agoARM: Make DoStoreKeyedFixedDoubleArray faster; don't allow conditional Vmov
ulan@chromium.org [Mon, 25 Feb 2013 16:15:37 +0000 (16:15 +0000)]
ARM: Make DoStoreKeyedFixedDoubleArray faster; don't allow conditional Vmov

This patch makes us generate faster code for DoStoreKeyedFixedDoubleArray,
by using a branch rather than a conditional Vmov instruction.

Conditional VFP instructions are not a great idea in general, and it was
especially bad in this case because Vmov expands to a bunch of instructions.
For this reason, the patch also removes the 'cond' parameter from Vmov.

Thanks to Rodolph for pointing me to this!

BUG=none

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

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

11 years agoFix for HeapSnapshotAddressReuse test case.
loislo@chromium.org [Mon, 25 Feb 2013 16:09:57 +0000 (16:09 +0000)]
Fix for HeapSnapshotAddressReuse test case.

BUG=V8:2189
TEST=HeapSnapshotAddressReuse

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.5.
ulan@chromium.org [Mon, 25 Feb 2013 15:47:52 +0000 (15:47 +0000)]
Prepare push to trunk.  Now working on version 3.17.5.

R=jkummerow@chromium.org

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

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

11 years agoMade Isolate a mandatory parameter for everything Handle-related.
svenpanne@chromium.org [Mon, 25 Feb 2013 14:46:09 +0000 (14:46 +0000)]
Made Isolate a mandatory parameter for everything Handle-related.

Unified parameter order of CreateHandle with the rest of v8 on the way. A few
Isolate::Current()s had to be introduced, which is not nice, and not every place
will win a beauty contest, but we can clean this up later easily in smaller steps.

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

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

11 years agoFix bugs in generating and printing of Crankshaft stubs
danno@chromium.org [Mon, 25 Feb 2013 14:03:09 +0000 (14:03 +0000)]
Fix bugs in generating and printing of Crankshaft stubs

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

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

11 years agoZap holes in dependent code array after deoptimizing a code group.
ulan@chromium.org [Mon, 25 Feb 2013 12:27:28 +0000 (12:27 +0000)]
Zap holes in dependent code array after deoptimizing a code group.

BUG=crash on GC stress builder

R=mstarzinger@chromium.org

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

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

11 years agoRevert r13699 "Debugger: ScopeMirror has N^2 algorithm when building closure mirrors...
ulan@chromium.org [Mon, 25 Feb 2013 11:56:37 +0000 (11:56 +0000)]
Revert r13699 "Debugger: ScopeMirror has N^2 algorithm when building closure mirrors." because of WebKit crashes.

BUG=v8:2554
R=verwaest@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.4.
ulan@chromium.org [Thu, 21 Feb 2013 14:04:19 +0000 (14:04 +0000)]
Prepare push to trunk.  Now working on version 3.17.4.

R=jkummerow@chromium.org

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

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

11 years agoForced inlining of some GC-related methods.
svenpanne@chromium.org [Thu, 21 Feb 2013 14:02:52 +0000 (14:02 +0000)]
Forced inlining of some GC-related methods.

The selection of methods were driven by GCC's -Winline plus some benchmarking.
On ia32, the additional amount of code is roughly 63kB (= 0.07% of Chrome ;-).

BUG=v8:1607

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

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

11 years agoHeap snapshot doesn't detect the fact that an old object was overriden by new one.
loislo@chromium.org [Thu, 21 Feb 2013 13:16:17 +0000 (13:16 +0000)]
Heap snapshot doesn't detect the fact that an old object was overriden by new one.

It is a test only patch. I have no solution yet.

BUG=V8:2189
TEST=

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

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

11 years agoRelease evacuation candidates after parallel sweeper threads completed.
hpayer@chromium.org [Thu, 21 Feb 2013 13:12:12 +0000 (13:12 +0000)]
Release evacuation candidates after parallel sweeper threads completed.

BUG=

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

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

11 years agoFix windows build warnings.
yangguo@chromium.org [Thu, 21 Feb 2013 12:17:48 +0000 (12:17 +0000)]
Fix windows build warnings.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoSplit profile-generator
loislo@chromium.org [Thu, 21 Feb 2013 12:10:40 +0000 (12:10 +0000)]
Split profile-generator

CPU profile code and Heap Snapshot code are completely unrelated to each other.
So we can extract heap snapshot part into separate file.
No functional changes.

BUG=none
TEST=none

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

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

11 years agoConstant fold math and string operations.
yangguo@chromium.org [Thu, 21 Feb 2013 11:40:37 +0000 (11:40 +0000)]
Constant fold math and string operations.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoAvoid creating unnecessary branches in Hydrogen
jkummerow@chromium.org [Thu, 21 Feb 2013 11:29:51 +0000 (11:29 +0000)]
Avoid creating unnecessary branches in Hydrogen

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

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

11 years agoFixed numeric relations on HPhi instances.
mmassi@chromium.org [Thu, 21 Feb 2013 10:22:31 +0000 (10:22 +0000)]
Fixed numeric relations on HPhi instances.

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

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

11 years agoHandlify escape and unescape.
yangguo@chromium.org [Thu, 21 Feb 2013 09:49:23 +0000 (09:49 +0000)]
Handlify escape and unescape.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoAlso check if the length ia a smi in a HBoundsCheck.
mmassi@chromium.org [Thu, 21 Feb 2013 09:09:01 +0000 (09:09 +0000)]
Also check if the length ia a smi in a HBoundsCheck.

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

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

11 years agoCombine %_SubString and %_StringCharAt.
yangguo@chromium.org [Wed, 20 Feb 2013 14:29:40 +0000 (14:29 +0000)]
Combine %_SubString and %_StringCharAt.

R=ulan@chromium.org
BUG=

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

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

11 years agoDebugger: ScopeMirror has N^2 algorithm when building closure mirrors.
yangguo@chromium.org [Wed, 20 Feb 2013 14:12:31 +0000 (14:12 +0000)]
Debugger: ScopeMirror has N^2 algorithm when building closure mirrors.

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/12326009
Patch from Pavel Feldman <pfeldman@chromium.org>.

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

11 years agoEnsure deopt entries have no relocation information.
mstarzinger@chromium.org [Wed, 20 Feb 2013 13:12:26 +0000 (13:12 +0000)]
Ensure deopt entries have no relocation information.

R=ulan@chromium.org
BUG=chromium:176943

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

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

11 years agoRemove prototype checks for leaf maps in optimized code.
ulan@chromium.org [Wed, 20 Feb 2013 11:49:54 +0000 (11:49 +0000)]
Remove prototype checks for leaf maps in optimized code.

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

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

11 years agoRemove purely informative definitions from the graph.
mmassi@chromium.org [Tue, 19 Feb 2013 16:32:02 +0000 (16:32 +0000)]
Remove purely informative definitions from the graph.

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

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

11 years agoMIPS: Fix mips gyp build for chromium.
jkummerow@chromium.org [Tue, 19 Feb 2013 15:22:12 +0000 (15:22 +0000)]
MIPS: Fix mips gyp build for chromium.

Our planned CL for the Chromium build system passes the toolchain
vars though the Makefiles, so that we do not depend on $CXX, etc.,
in the environment.

That causes a problem with deriving the 'm32flag' in v8 gyp.

This patch lets us build with or without the toolchain vars in
the environment.

BUG=

Review URL: https://codereview.chromium.org/12218113
Patch from Paul Lind <plind44@gmail.com>.

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

11 years agoFix HCheckSmiOrInt32 fake observed representation.
mmassi@chromium.org [Tue, 19 Feb 2013 14:24:25 +0000 (14:24 +0000)]
Fix HCheckSmiOrInt32 fake observed representation.

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.3.
yangguo@chromium.org [Tue, 19 Feb 2013 13:54:30 +0000 (13:54 +0000)]
Prepare push to trunk.  Now working on version 3.17.3.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoRemove bogus check for TOP register in deoptimizer.
ulan@chromium.org [Tue, 19 Feb 2013 12:37:19 +0000 (12:37 +0000)]
Remove bogus check for TOP register in deoptimizer.

R=danno@chromium.org
BUG=176943

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

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

11 years agoPrecise GC time measurements.
hpayer@chromium.org [Tue, 19 Feb 2013 11:59:48 +0000 (11:59 +0000)]
Precise GC time measurements.

BUG=

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

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

11 years agoCleanup code-stub interface descriptor initialization.
mstarzinger@chromium.org [Tue, 19 Feb 2013 09:42:00 +0000 (09:42 +0000)]
Cleanup code-stub interface descriptor initialization.

R=svenpanne@chromium.org

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

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

11 years agoUpdate grokdump to reflect current heap layout.
mstarzinger@chromium.org [Tue, 19 Feb 2013 09:01:25 +0000 (09:01 +0000)]
Update grokdump to reflect current heap layout.

R=yangguo@chromium.org

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

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

11 years agoImprove the JitCodeEventHandler API to add support for line position information.
danno@chromium.org [Mon, 18 Feb 2013 18:06:12 +0000 (18:06 +0000)]
Improve the JitCodeEventHandler API to add support for line position information.

This includes:

* adding the CODE_ADD_LINE_POS_INFO, CODE_START_LINE_INFO_RECORDING, CODE_END_LINE_INFO_RECORDING event and the corresponding functionality.
 * adding the JITCodeLineInfo struct to record the code line info. I added this definition because Danno mentioned that "we'd like to cleanup and decouple the external debugging functionality"
 * some other small changes.

Review URL: https://chromiumcodereview.appspot.com/12223027
Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

11 years agoMIPS: Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
palfia@homejinni.com [Mon, 18 Feb 2013 17:08:19 +0000 (17:08 +0000)]
MIPS: Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo

Port r13649 (0a9e0bf0)

BUG=

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

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

11 years agoFix bogus assertion.
yangguo@chromium.org [Mon, 18 Feb 2013 13:01:00 +0000 (13:01 +0000)]
Fix bogus assertion.

R=dcarney@chromium.org
BUG=

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

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

11 years agoFix bogus assertion.
yangguo@chromium.org [Mon, 18 Feb 2013 12:22:04 +0000 (12:22 +0000)]
Fix bogus assertion.

R=dcarney@chromium.org
BUG=

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

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

11 years agoEnable Latin-1
yangguo@chromium.org [Mon, 18 Feb 2013 10:27:46 +0000 (10:27 +0000)]
Enable Latin-1

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/12039038
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoRevert part of r13678 (InternalPackedArray).
yangguo@chromium.org [Mon, 18 Feb 2013 10:25:21 +0000 (10:25 +0000)]
Revert part of r13678 (InternalPackedArray).

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoChange and disable global handle zapping.
mstarzinger@chromium.org [Mon, 18 Feb 2013 10:20:58 +0000 (10:20 +0000)]
Change and disable global handle zapping.

R=yangguo@chromium.org
BUG=chromium:176056
TEST=webkit:storage/indexeddb/create-and-remove-object-store.html

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

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

11 years agoRemove wrong uses of InternalPackedArray.
yangguo@chromium.org [Fri, 15 Feb 2013 16:21:03 +0000 (16:21 +0000)]
Remove wrong uses of InternalPackedArray.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoIntroduce InternalPackedArray.
yangguo@chromium.org [Fri, 15 Feb 2013 15:20:05 +0000 (15:20 +0000)]
Introduce InternalPackedArray.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoARM: Remove unused flag in lithium-codegen.
palfia@homejinni.com [Fri, 15 Feb 2013 13:01:28 +0000 (13:01 +0000)]
ARM: Remove unused flag in lithium-codegen.

This flag was added by commit r13585.

BUG=

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

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

11 years agoDetermine number of available cores on all platforms.
hpayer@chromium.org [Fri, 15 Feb 2013 12:38:59 +0000 (12:38 +0000)]
Determine number of available cores on all platforms.

BUG=

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

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

11 years agoAdd zapping of disposed persistent handles.
mstarzinger@chromium.org [Fri, 15 Feb 2013 12:18:24 +0000 (12:18 +0000)]
Add zapping of disposed persistent handles.

R=svenpanne@chromium.org
BUG=chromium:176056

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

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

11 years agoMake the Isolate parameter mandatory for internal HandleScopes.
svenpanne@chromium.org [Fri, 15 Feb 2013 09:27:10 +0000 (09:27 +0000)]
Make the Isolate parameter mandatory for internal HandleScopes.

Improved Frames and their iterators on the way, too.

BUG=v8:2487

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

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

11 years agoFix f.apply() optimization when declared arguments are mutated.
mstarzinger@chromium.org [Thu, 14 Feb 2013 15:12:49 +0000 (15:12 +0000)]
Fix f.apply() optimization when declared arguments are mutated.

R=verwaest@chromium.org
BUG=v8:2539
TEST=mjsunit/regress/regress-2539

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.2.
ulan@chromium.org [Thu, 14 Feb 2013 14:54:27 +0000 (14:54 +0000)]
Prepare push to trunk.  Now working on version 3.17.2.

R=jkummerow@chromium.org

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

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

11 years agoRegister dependent codes before populating deoptimization data, which can cause GC.
ulan@chromium.org [Thu, 14 Feb 2013 13:48:20 +0000 (13:48 +0000)]
Register dependent codes before populating deoptimization data, which can cause GC.

R=mstarzinger@chromium.org

BUG=crash on nosnap-debug with stress-compaction

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

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

11 years agoARM: Change signature for vmov.32 function in the assembler
ulan@chromium.org [Thu, 14 Feb 2013 12:28:02 +0000 (12:28 +0000)]
ARM: Change signature for vmov.32 function in the assembler

The assembler has 8 different vmov variants. The one for vmov.32 and for moving
an immediate into a double reg only differs in the type of the second
paremeter: vmov.32 takes an int, the other takes a double.

The situation is dangerous because C++ will happily implicitly convert between
int and double.

This patch changes the signature of the vmov.32 assembler function so that it
cannot be confused with the other vmovs.

BUG=none

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

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

11 years agoUnflakify SetJitCodeEventHandler test case.
mstarzinger@chromium.org [Thu, 14 Feb 2013 11:59:04 +0000 (11:59 +0000)]
Unflakify SetJitCodeEventHandler test case.

R=ulan@chromium.org
TEST=cctest/test-api/SetJitCodeEventHandler

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

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

11 years agoEnable weak embedded maps in optimized code by default.
ulan@chromium.org [Thu, 14 Feb 2013 10:07:01 +0000 (10:07 +0000)]
Enable weak embedded maps in optimized code by default.

R=mstarzinger@chromium.org

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

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

11 years agoAllow full inlining of f.apply(this, arguments) calls.
mstarzinger@chromium.org [Thu, 14 Feb 2013 09:55:50 +0000 (09:55 +0000)]
Allow full inlining of f.apply(this, arguments) calls.

This allows Crankshaft to completely inline a f.apply() dispatch if the
exact number of arguments is known and the function is constant. The
deoptimizer doesn't generate the f.apply() frame during deoptimization,
so the materialized frames look like f.apply() did a tailcall.

R=jkummerow@chromium.org
TEST=mjsunit/compiler/inline-function-apply

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.1.
hpayer@chromium.org [Wed, 13 Feb 2013 17:24:10 +0000 (17:24 +0000)]
Prepare push to trunk.  Now working on version 3.17.1.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoMove sweeping pending status field of concurrent sweepers to MarkCompactCollector.
hpayer@chromium.org [Wed, 13 Feb 2013 15:21:08 +0000 (15:21 +0000)]
Move sweeping pending status field of concurrent sweepers to MarkCompactCollector.

BUG=

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

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

11 years agoDrop latin-1 check from BasicJsonStringifier::DoNotEscape
dcarney@chromium.org [Wed, 13 Feb 2013 14:55:33 +0000 (14:55 +0000)]
Drop latin-1 check from BasicJsonStringifier::DoNotEscape

R=yangguo@chromium.org
BUG=

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

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

11 years agoProperly support undefined->0 conversion in ia32 bitwise BinaryOpStubs (regression...
jkummerow@chromium.org [Wed, 13 Feb 2013 14:37:09 +0000 (14:37 +0000)]
Properly support undefined->0 conversion in ia32 bitwise BinaryOpStubs (regression fix for r13624)

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

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

11 years agoFix NegateCompareOp and InvertCompareOp
jkummerow@chromium.org [Wed, 13 Feb 2013 14:36:19 +0000 (14:36 +0000)]
Fix NegateCompareOp and InvertCompareOp

BUG=v8:2537

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

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

11 years agoMIPS: Support pass-through of stub caller arguments
palfia@homejinni.com [Wed, 13 Feb 2013 14:35:05 +0000 (14:35 +0000)]
MIPS: Support pass-through of stub caller arguments

Port r13593 (ae4edde7)

BUG=
TEST=

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

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