platform/upstream/v8.git
11 years agoHandlify Map::CopyNormalized
rafaelw@chromium.org [Wed, 23 Oct 2013 19:47:38 +0000 (19:47 +0000)]
Handlify Map::CopyNormalized

R=mstarzinger@chromium.org

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

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

11 years agoRemoved redundant definition of new space top in serializer.
hpayer@chromium.org [Wed, 23 Oct 2013 18:05:27 +0000 (18:05 +0000)]
Removed redundant definition of new space top in serializer.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoHandle new space constants on ia32 by using in a register in Lithium.
titzer@chromium.org [Wed, 23 Oct 2013 16:57:57 +0000 (16:57 +0000)]
Handle new space constants on ia32 by using in a register in Lithium.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoMake Array.prototype.pop throw if the last element is not configurable.
yangguo@chromium.org [Wed, 23 Oct 2013 16:19:24 +0000 (16:19 +0000)]
Make Array.prototype.pop throw if the last element is not configurable.
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.

TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();

By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.

R=yangguo@chromium.org

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

Patch from Yanagi <admin@web-tinker.com>.

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

11 years agoFix HObjectAccess for loads from migrating prototypes
jkummerow@chromium.org [Wed, 23 Oct 2013 15:15:15 +0000 (15:15 +0000)]
Fix HObjectAccess for loads from migrating prototypes

BUG=chromium:305309
R=danno@chromium.org

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

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

11 years agoFix MEMORY_SANITIZER macro redefinition error.
danno@chromium.org [Wed, 23 Oct 2013 13:50:01 +0000 (13:50 +0000)]
Fix MEMORY_SANITIZER macro redefinition error.

MEMORY_SANITIZER is defined by default in certain compiler environments (when
MemorySanitizer is enabled, of course). Do not redefine it in that case.

R=danno@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

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

11 years agoEnable preaging of code objects when --optimize-for-size.
danno@chromium.org [Wed, 23 Oct 2013 13:48:04 +0000 (13:48 +0000)]
Enable preaging of code objects when --optimize-for-size.

This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is  reset to the young age, thus being kept around for the same number of GC generations as currently.

BUG=280984
R=danno@chromium.org, hpayer@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

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

11 years agoHCheckInstanceType factories unified
ishell@chromium.org [Wed, 23 Oct 2013 13:03:15 +0000 (13:03 +0000)]
HCheckInstanceType factories unified

R=bmeurer@chromium.org

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

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

11 years agoUse common allocation choke point in Heap::AllocateConstantPoolArray.
mstarzinger@chromium.org [Wed, 23 Oct 2013 12:49:27 +0000 (12:49 +0000)]
Use common allocation choke point in Heap::AllocateConstantPoolArray.

R=hpayer@chromium.org

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

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

11 years agoExpose v8::Function::GetDisplayName to public API.
yurys@chromium.org [Wed, 23 Oct 2013 12:38:06 +0000 (12:38 +0000)]
Expose v8::Function::GetDisplayName to public API.

BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys

Committed: https://code.google.com/p/v8/source/detail?r=17324

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

Patch from Andrey Adaikin <aandrey@chromium.org>.

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

11 years agoPushAndAdd() usages refactored.
ishell@chromium.org [Wed, 23 Oct 2013 12:34:39 +0000 (12:34 +0000)]
PushAndAdd() usages refactored.

R=bmeurer@chromium.org

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

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

11 years agoRevert "Disable allocation folding when allocations tracking is on"
yurys@chromium.org [Wed, 23 Oct 2013 12:30:38 +0000 (12:30 +0000)]
Revert "Disable allocation folding when allocations tracking is on"

This reverts r17337. The new test fails on V8 linux - shared: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4726/steps/Check/logs/stdio

TBR=mvstanton@chromium.org
BUG=None

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

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

11 years agoDisable allocation folding when allocations tracking is on
yurys@chromium.org [Wed, 23 Oct 2013 12:19:12 +0000 (12:19 +0000)]
Disable allocation folding when allocations tracking is on

BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org, mvstanton@chromium.org, yurys@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

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

11 years agoSimplify ObjectVisitor for external references.
mstarzinger@chromium.org [Wed, 23 Oct 2013 10:47:51 +0000 (10:47 +0000)]
Simplify ObjectVisitor for external references.

R=svenpanne@chromium.org

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

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

11 years agoAdd a soft-deopt in keyed element access when current IC is pre-monomorphic and no...
hpayer@chromium.org [Wed, 23 Oct 2013 10:41:21 +0000 (10:41 +0000)]
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.

BUG=
R=danno@chromium.org

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

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

11 years agoCrankshaft builtins.
dslomov@chromium.org [Wed, 23 Oct 2013 08:57:54 +0000 (08:57 +0000)]
Crankshaft builtins.

Enable optimizing compiler for V8 built-ins. Also fixes an issue uncovered in
x64 codegen.

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

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

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

11 years agoMake macro-assembler-x64 deal with handles to objects in new space by default.
titzer@chromium.org [Wed, 23 Oct 2013 08:47:15 +0000 (08:47 +0000)]
Make macro-assembler-x64 deal with handles to objects in new space by default.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoforce accessor pair accesses backed by simple api calls to be generic accesses when...
dcarney@chromium.org [Wed, 23 Oct 2013 08:46:46 +0000 (08:46 +0000)]
force accessor pair accesses backed by simple api calls to be generic accesses when crankshafted

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoPartially annotate V8 for MemorySanitizer.
danno@chromium.org [Wed, 23 Oct 2013 08:39:15 +0000 (08:39 +0000)]
Partially annotate V8 for MemorySanitizer.

This is a part of https://codereview.chromium.org/26006004/.
These changes are enough to run most apps that embed V8 (by additionally
ignoring all memory accesses from V8), but don't help testing V8 itself in any
way.

R=danno@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

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

11 years agoPrepare push to trunk. Now working on version 3.22.20.
bmeurer@chromium.org [Wed, 23 Oct 2013 06:50:44 +0000 (06:50 +0000)]
Prepare push to trunk.  Now working on version 3.22.20.

R=svenpanne@chromium.org

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

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

11 years agoHandlify Map::CopyForObserved
rafaelw@chromium.org [Tue, 22 Oct 2013 17:41:08 +0000 (17:41 +0000)]
Handlify Map::CopyForObserved

R=mstarzinger@chromium.org

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

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

11 years agoCondense flag definitions a bit.
mstarzinger@chromium.org [Tue, 22 Oct 2013 17:03:57 +0000 (17:03 +0000)]
Condense flag definitions a bit.

This makes it easy to spot the default value of a flag when grepping the
code as the default value appears on the same line as the name now.

R=jkummerow@chromium.org

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

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

11 years agoRevert "Expose v8::Function::GetDisplayName to public API."
yurys@chromium.org [Tue, 22 Oct 2013 15:46:15 +0000 (15:46 +0000)]
Revert "Expose v8::Function::GetDisplayName to public API."

This reverts commit 54c7b9af65dd349405944bd9ae2f064202dc6e1d.

The new test fails in debug mode.

BUG=chromium:17356
TBR=mstarzinger@chromium.org

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

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

11 years agoExpose v8::Function::GetDisplayName to public API.
yurys@chromium.org [Tue, 22 Oct 2013 14:57:19 +0000 (14:57 +0000)]
Expose v8::Function::GetDisplayName to public API.

BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys

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

Patch from Andrey Adaikin <aandrey@chromium.org>.

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

11 years agoExpose v8::Function::IsBuiltin to public API.
yurys@chromium.org [Tue, 22 Oct 2013 14:50:20 +0000 (14:50 +0000)]
Expose v8::Function::IsBuiltin to public API.

This will be used by DevTools so that we could generate a better preview in console. Namely, we could assume that a preview of an object is lossless if all its member functions are builtin.

We also may want to expose this to DevTools users via remote debugging protocol in Debugger.FunctionDetails struct.

BUG=chromium:261470
R=mstarzinger@chromium.org, yurys@chromium.org, dcarney@chromium.org, yurys

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

Patch from Andrey Adaikin <aandrey@chromium.org>.

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

11 years agoEnable escape analysis for Hydrogen.
mstarzinger@chromium.org [Tue, 22 Oct 2013 14:43:53 +0000 (14:43 +0000)]
Enable escape analysis for Hydrogen.

R=titzer@chromium.org

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

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

11 years agoFix materialization of captured objects with field tracking.
mstarzinger@chromium.org [Tue, 22 Oct 2013 13:48:54 +0000 (13:48 +0000)]
Fix materialization of captured objects with field tracking.

R=titzer@chromium.org
BUG=chromium:298990
TEST=mjsunit/compiler/escape-analysis-representation

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

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

11 years agoTemporarily deactive regress-2185-2 until our array handling is in good shape again.
svenpanne@chromium.org [Tue, 22 Oct 2013 13:02:04 +0000 (13:02 +0000)]
Temporarily deactive regress-2185-2 until our array handling is in good shape again.

BUG=v8:2950
R=mvstanton@chromium.org

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

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

11 years agoGuard against misuse of IfBuilder.
bmeurer@chromium.org [Tue, 22 Oct 2013 11:37:15 +0000 (11:37 +0000)]
Guard against misuse of IfBuilder.

R=svenpanne@chromium.org

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

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

11 years agoMore Hydrogen templatization.
ishell@chromium.org [Tue, 22 Oct 2013 11:29:05 +0000 (11:29 +0000)]
More Hydrogen templatization.

Factories added to a set of Hydrogen classes.
Several old-style HXxx::New() replaced with New<HXxx>() and NewUncasted<HXxx>.
Several AddInstruction() calls following New::XXX() replaced with Add<XXX>().
AddLoadNamedField() method added to GraphBuilder.

R=bmeurer@chromium.org

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

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

11 years agoRemoved obsolete unit tests.
svenpanne@chromium.org [Tue, 22 Oct 2013 11:26:07 +0000 (11:26 +0000)]
Removed obsolete unit tests.

As discussed offline, these tests don't test what they were supposed to
test anymore and were the longest running ones.

R=mstarzinger@chromium.org

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

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

11 years agoRevert "Re-enable global load elimination after fixing misaligned load/stores."
bmeurer@chromium.org [Tue, 22 Oct 2013 09:45:39 +0000 (09:45 +0000)]
Revert "Re-enable global load elimination after fixing misaligned load/stores."

This reverts commit r17315 for breaking the webkit tests.

TBR=titzer@chromium.org

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

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

11 years agoRe-enable global load elimination after fixing misaligned load/stores.
titzer@chromium.org [Tue, 22 Oct 2013 09:15:09 +0000 (09:15 +0000)]
Re-enable global load elimination after fixing misaligned load/stores.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoDo not run useless test variants for test-parsing/ParserSync.
svenpanne@chromium.org [Tue, 22 Oct 2013 09:13:33 +0000 (09:13 +0000)]
Do not run useless test variants for test-parsing/ParserSync.

R=mstarzinger@chromium.org

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

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

11 years agoDo not serialize stack limits.
svenpanne@chromium.org [Tue, 22 Oct 2013 08:50:46 +0000 (08:50 +0000)]
Do not serialize stack limits.

This is part of making snapshots reproducable, more to come...

R=mstarzinger@chromium.org

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

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

11 years agoMake PropertyCell::UpdatedType return a handle.
mstarzinger@chromium.org [Tue, 22 Oct 2013 08:24:35 +0000 (08:24 +0000)]
Make PropertyCell::UpdatedType return a handle.

R=rossberg@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.22.19.
bmeurer@chromium.org [Tue, 22 Oct 2013 07:59:35 +0000 (07:59 +0000)]
Prepare push to trunk.  Now working on version 3.22.19.

R=mstarzinger@chromium.org

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

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

11 years agoAdd test for push-to-trunk script.
machenbach@chromium.org [Tue, 22 Oct 2013 06:59:35 +0000 (06:59 +0000)]
Add test for push-to-trunk script.

This is a prototype attempt for testing the push-to-trunk script. There are several todos left, but it is not clear if it is worth investing time into those. The test is meant to aid in verifying modifications in the push-to-trunk script.

R=jkummerow@chromium.org

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

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

11 years ago[Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap...
bmeurer@chromium.org [Tue, 22 Oct 2013 06:56:19 +0000 (06:56 +0000)]
[Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap-profiler/TrackHeapAllocations".

This reverts commit r17301 and r17303 for breaking the nosnap builds.

TBR=yurys@chromium.org

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

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

11 years agoMIPS: Fix kraken 1.1 benchmark failure.
palfia@homejinni.com [Mon, 21 Oct 2013 22:22:03 +0000 (22:22 +0000)]
MIPS: Fix kraken 1.1 benchmark failure.

This makes sure that the DoubleToIStub::Generate method
does not overwrite the value of the f12 register.

TEST=bencnhmarks/kraken/stanford-crypto-pbkdf2
BUG=
R=plind44@gmail.com

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

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

11 years agoMIPS: Add tool to visualize machine code/lithium.
palfia@homejinni.com [Mon, 21 Oct 2013 22:20:45 +0000 (22:20 +0000)]
MIPS: Add tool to visualize machine code/lithium.

Port r17295 (b36eb655)

Original commit message:
In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

BUG=
R=plind44@gmail.com

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

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

11 years agoMIPS: Inline number to string conversion for string addition into BinaryOp(Stub).
palfia@homejinni.com [Mon, 21 Oct 2013 22:16:01 +0000 (22:16 +0000)]
MIPS: Inline number to string conversion for string addition into BinaryOp(Stub).

Port r17290 (b5fabb92)

Original commit message:
This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.

BUG=
R=plind44@gmail.com

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

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

11 years agoTemporarily disable test-heap-profiler/TrackHeapAllocations
yurys@chromium.org [Mon, 21 Oct 2013 16:21:16 +0000 (16:21 +0000)]
Temporarily disable test-heap-profiler/TrackHeapAllocations

The test started failing on  V8 Linux - nosnap - debug after r17301 which added stack traversal to the allocation tracker. I'm disabling it for now until the problem is fixed.

BUG=v8:2949
TBR=hpayer@chromium.org

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

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

11 years agoRecord allocation stack traces
yurys@chromium.org [Mon, 21 Oct 2013 15:22:11 +0000 (15:22 +0000)]
Record allocation stack traces

This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org

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

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

11 years agoHEnvironmentMarker factory added
ishell@chromium.org [Mon, 21 Oct 2013 14:18:55 +0000 (14:18 +0000)]
HEnvironmentMarker factory added

R=bmeurer@chromium.org

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

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

11 years agoAllow constants to be deleted by reinserting them into the graph as needed.
titzer@chromium.org [Mon, 21 Oct 2013 14:09:32 +0000 (14:09 +0000)]
Allow constants to be deleted by reinserting them into the graph as needed.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoHandlify PropertyCell::SetValueInferType and friends.
mstarzinger@chromium.org [Mon, 21 Oct 2013 13:55:24 +0000 (13:55 +0000)]
Handlify PropertyCell::SetValueInferType and friends.

This finally gets rid of the pesky trampoline in SetValueInferType and
enforces the layering between PropertyCell and Heap. It requires full
handlification of NewGlobalObject as well, which is only used when the
snapshot is created at compile-time.

R=rossberg@chromium.org

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

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

11 years agoAdd ishell@ to OWNERS.
bmeurer@chromium.org [Mon, 21 Oct 2013 13:52:12 +0000 (13:52 +0000)]
Add ishell@ to OWNERS.

TBR=danno@chromium.org

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

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

11 years agoAdd tool to visualize machine code/lithium.
danno@chromium.org [Mon, 21 Oct 2013 13:35:48 +0000 (13:35 +0000)]
Add tool to visualize machine code/lithium.

In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

Originally reviewed in this CL: https://codereview.chromium.org/24957003/

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

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

11 years agoHandle misaligned loads and stores in load elimination. Do not track misaligned loads...
titzer@chromium.org [Mon, 21 Oct 2013 13:33:03 +0000 (13:33 +0000)]
Handle misaligned loads and stores in load elimination. Do not track misaligned loads and be conservative about invalidating misaligned stores. Add more tests for number conversion to string (NumberToStringStub exhibits misaligned loads)

BUG=v8:2934
R=bmeurer@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.22.18.
bmeurer@chromium.org [Mon, 21 Oct 2013 13:27:08 +0000 (13:27 +0000)]
Prepare push to trunk.  Now working on version 3.22.18.

R=mstarzinger@chromium.org

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

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

11 years agoInline number to string conversion for string addition into BinaryOp(Stub).
bmeurer@chromium.org [Mon, 21 Oct 2013 12:42:08 +0000 (12:42 +0000)]
Inline number to string conversion for string addition into BinaryOp(Stub).

This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.

R=rossberg@chromium.org

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

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

11 years agoRevert "Add a soft-deopt in keyed element access when current IC is pre-monomorphic...
bmeurer@chromium.org [Mon, 21 Oct 2013 12:32:38 +0000 (12:32 +0000)]
Revert "Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected."

This reverts commit r17288 for breaking the mjsunit/unbox-double-arrays
test on almost every platform.

TBR=hpayer@chromium.org

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

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

11 years agoAdd a soft-deopt in keyed element access when current IC is pre-monomorphic and no...
hpayer@chromium.org [Mon, 21 Oct 2013 12:10:01 +0000 (12:10 +0000)]
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.

BUG=
R=danno@chromium.org

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

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

11 years agoHarmony: implement Math.trunc.
yangguo@chromium.org [Mon, 21 Oct 2013 11:15:11 +0000 (11:15 +0000)]
Harmony: implement Math.trunc.

BUG=v8:2938
R=dslomov@chromium.org

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

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

11 years agoRevert "Enable load elimination."
titzer@chromium.org [Mon, 21 Oct 2013 09:36:55 +0000 (09:36 +0000)]
Revert "Enable load elimination."

This reverts commit r17281.

TBR=bmeurer@chromium.org

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

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

11 years agoEnable load elimination.
titzer@chromium.org [Mon, 21 Oct 2013 09:24:29 +0000 (09:24 +0000)]
Enable load elimination.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoHarmony: implement Math.sign.
yangguo@chromium.org [Mon, 21 Oct 2013 09:16:31 +0000 (09:16 +0000)]
Harmony: implement Math.sign.

R=dslomov@chromium.org
BUG=v8:2938

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

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

11 years agoPrepare push to trunk. Now working on version 3.22.17.
bmeurer@chromium.org [Mon, 21 Oct 2013 07:19:11 +0000 (07:19 +0000)]
Prepare push to trunk.  Now working on version 3.22.17.

R=svenpanne@chromium.org

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

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

11 years agoMake stack_parameter_count a plain register.
mstarzinger@chromium.org [Fri, 18 Oct 2013 14:55:21 +0000 (14:55 +0000)]
Make stack_parameter_count a plain register.

R=rossberg@chromium.org, danno@chromium.org

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

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

11 years agoImplement global load elimination based on flow engine.
titzer@chromium.org [Fri, 18 Oct 2013 14:28:24 +0000 (14:28 +0000)]
Implement global load elimination based on flow engine.

BUG=
R=mvstanton@chromium.org

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

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

11 years agoHandlify JSObject::HasReal*Property.
yangguo@chromium.org [Fri, 18 Oct 2013 12:52:07 +0000 (12:52 +0000)]
Handlify JSObject::HasReal*Property.

R=ulan@chromium.org
BUG=

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

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

11 years agoHeapProfiler: integrate FindUntrackedObjects into js code.
loislo@chromium.org [Fri, 18 Oct 2013 11:25:43 +0000 (11:25 +0000)]
HeapProfiler: integrate FindUntrackedObjects into js code.

In some cases we would like to check untracked objects right from the js code.
Otherwise the objects might be collected rigth before check.

BUG=none
R=hpayer@chromium.org, yurys@chromium.org

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

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

11 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 10:59:55 +0000 (10:59 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17258

Committed: https://code.google.com/p/v8/source/detail?r=17263

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

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

11 years agoTweak Math.log on ia32/x64
jkummerow@chromium.org [Fri, 18 Oct 2013 10:54:45 +0000 (10:54 +0000)]
Tweak Math.log on ia32/x64

ia32 and x64 more consistent now
1. use non-transcendental cache version of log for x64
2. use negative infinity constant instead of pushing to stack and loading to XMM register
3. remove movdbl, use movsd directly. movdbl seems confusing

BUG=
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

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

11 years agoPrepare push to trunk. Now working on version 3.22.16.
mstarzinger@chromium.org [Fri, 18 Oct 2013 10:32:11 +0000 (10:32 +0000)]
Prepare push to trunk.  Now working on version 3.22.16.

R=bmeurer@chromium.org

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

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

11 years agoRevert "HeapProfiler: for the test purposes we would like to trace object movements."
mstarzinger@chromium.org [Fri, 18 Oct 2013 09:50:06 +0000 (09:50 +0000)]
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

This reverts r17263 because of compile failures accross all builds.

TBR=loislo@chromium.org

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

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

11 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 09:40:00 +0000 (09:40 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17258

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

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

11 years agoRemoved dead code from mksnapshot.
svenpanne@chromium.org [Fri, 18 Oct 2013 09:06:58 +0000 (09:06 +0000)]
Removed dead code from mksnapshot.

R=mstarzinger@chromium.org

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

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

11 years agoAlways make a copy of a string when adding it to StringsStorage
yurys@chromium.org [Fri, 18 Oct 2013 08:56:14 +0000 (08:56 +0000)]
Always make a copy of a string when adding it to StringsStorage

Otherwise the string passed as const char* may be disposed and we will end up with a dangling pointer.

Also changed StringsStorage::GetCopy so that a copy is not created if the string is already in the cache.

BUG=None
R=alph@chromium.org, svenpanne@chromium.org

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

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

11 years agoRevert "HeapProfiler: for the test purposes we would like to trace object movements."
loislo@chromium.org [Fri, 18 Oct 2013 08:11:36 +0000 (08:11 +0000)]
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

Compilation failed on Win64.

This reverts commit 6909faccca68c04b7ec4537538e6e7a0cc1650b8.

BUG=none
TBR=yurys

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

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

11 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 07:43:50 +0000 (07:43 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

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

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

11 years agoPrevent changes to hidden properties from being observable via Object.observe
rafaelw@chromium.org [Thu, 17 Oct 2013 20:49:45 +0000 (20:49 +0000)]
Prevent changes to hidden properties from being observable via Object.observe

This addresses the leak that mstarzinger points out (https://codereview.chromium.org/26390003/) and includes the test.

Note that this adds a test that observing changes to the empty-string property remains possible.

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

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

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

11 years agoMake it possible to run a test only in the standard variant.
svenpanne@chromium.org [Thu, 17 Oct 2013 13:09:28 +0000 (13:09 +0000)]
Make it possible to run a test only in the standard variant.

Use this for mjsunit/unicode-case-overoptimization, which is not
related to Crankshaft at all and takes ages.

R=jkummerow@chromium.org

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

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

11 years agoAdd regression test for optimized count operation.
mstarzinger@chromium.org [Thu, 17 Oct 2013 12:48:28 +0000 (12:48 +0000)]
Add regression test for optimized count operation.

This is a regression test for a bug with handling of count operations
that target a JavaScript accessor on the prototype chain in Crankshaft.

R=jkummerow@chromium.org
BUG=chromium:306851
TEST=mjsunit/regress/regress-crbug-306851

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

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

11 years agoEnable calling the SetReference* & SetObjectGroupId functions with a Persistent<Subcl...
marja@chromium.org [Thu, 17 Oct 2013 11:48:03 +0000 (11:48 +0000)]
Enable calling the SetReference* & SetObjectGroupId functions with a Persistent<SubclassOfValue>.

This is needed for https://codereview.chromium.org/26792002/

BUG=
R=svenpanne@chromium.org

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

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

11 years agoCosmetic: Add macros for NaN, undefined and Infinity to native js code.
yangguo@chromium.org [Thu, 17 Oct 2013 10:02:45 +0000 (10:02 +0000)]
Cosmetic: Add macros for NaN, undefined and Infinity to native js code.

Nobody should need to use $NaN, 0/0, 1/0 and void 0.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.22.15.
mstarzinger@chromium.org [Thu, 17 Oct 2013 08:03:12 +0000 (08:03 +0000)]
Prepare push to trunk.  Now working on version 3.22.15.

R=bmeurer@chromium.org

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

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

11 years agoMIPS: Add support for Token::NE and Token::NE_STRICT to TokenToCondition.
palfia@homejinni.com [Wed, 16 Oct 2013 23:15:30 +0000 (23:15 +0000)]
MIPS: Add support for Token::NE and Token::NE_STRICT to TokenToCondition.

Port r17239 (c203175f)

Original commit message:
This is required to be able to use these tokens with
HCompareNumericAndBranch.

BUG=
R=plind44@gmail.com

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

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

11 years agoFix leak in optimizing compiler thread.
yangguo@chromium.org [Wed, 16 Oct 2013 16:27:17 +0000 (16:27 +0000)]
Fix leak in optimizing compiler thread.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoImprove queuing for concurrent OSR.
yangguo@chromium.org [Wed, 16 Oct 2013 14:47:20 +0000 (14:47 +0000)]
Improve queuing for concurrent OSR.

Specifically, this includes:
- Encapsulating data structure for osr buffer into CyclicBuffer
- Use the new CyclicQueue instead of UnboundedQueue to queue new jobs.
  We can enqueue and dequeue a CyclicQueue on both ends in O(1).
  This allows us to add OSR jobs to the front for lower compile latency.
- Dispose osr buffer by one stale job per GC to avoid leak

R=titzer@chromium.org
BUG=

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

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

11 years agoFix lower bound of shr.
olivf@chromium.org [Wed, 16 Oct 2013 14:39:27 +0000 (14:39 +0000)]
Fix lower bound of shr.

BUG=
R=rossberg@chromium.org

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

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

11 years agoGet rid of HEAP_PROFILE macro
yurys@chromium.org [Wed, 16 Oct 2013 14:33:04 +0000 (14:33 +0000)]
Get rid of HEAP_PROFILE macro

All usages of the macro were replaced with direct calls to the heap profiler. The macro does null check for HeapProfiler which is always true.

BUG=None
R=yangguo@chromium.org

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

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

11 years agoRevert "TransitionAndStoreStub bailout needs to transition (and store)."
mstarzinger@chromium.org [Wed, 16 Oct 2013 14:17:31 +0000 (14:17 +0000)]
Revert "TransitionAndStoreStub bailout needs to transition (and store)."

This reverts commit r17216 breaking fast/js/cross-frame-bad-time.html test.

R=mvstanton@chromium.org
TEST=webkit:fast/js/cross-frame-bad-time.html

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

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

11 years agoRemove dead constants not in block #0.
titzer@chromium.org [Wed, 16 Oct 2013 13:19:46 +0000 (13:19 +0000)]
Remove dead constants not in block #0.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoAdd support for Token::NE and Token::NE_STRICT to TokenToCondition.
bmeurer@chromium.org [Wed, 16 Oct 2013 12:20:21 +0000 (12:20 +0000)]
Add support for Token::NE and Token::NE_STRICT to TokenToCondition.

This is required to be able to use these tokens with
HCompareNumericAndBranch.

R=svenpanne@chromium.org

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

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

11 years agoRefactor part of handles.cc
yangguo@chromium.org [Wed, 16 Oct 2013 11:52:03 +0000 (11:52 +0000)]
Refactor part of handles.cc

BUG=
R=rossberg@chromium.org

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

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

11 years agoReturn descriptor ownership after TrimDescriptorArray to allow resharing of descripto...
mstarzinger@chromium.org [Wed, 16 Oct 2013 11:16:49 +0000 (11:16 +0000)]
Return descriptor ownership after TrimDescriptorArray to allow resharing of descriptor arrays

BUG=None
R=mstarzinger@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

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

11 years agoImplement fixpoint iteration for escape analysis.
mstarzinger@chromium.org [Wed, 16 Oct 2013 09:16:56 +0000 (09:16 +0000)]
Implement fixpoint iteration for escape analysis.

R=titzer@chromium.org

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

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

11 years agoHandlify GetPropertyWithCallback.
yangguo@chromium.org [Wed, 16 Oct 2013 09:13:31 +0000 (09:13 +0000)]
Handlify GetPropertyWithCallback.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.22.14.
mstarzinger@chromium.org [Wed, 16 Oct 2013 08:58:53 +0000 (08:58 +0000)]
Prepare push to trunk.  Now working on version 3.22.14.

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

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

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

11 years agoFix unexpected stack traces in test-cpu-profiler/JsNativeJsSample
yurys@chromium.org [Wed, 16 Oct 2013 08:15:06 +0000 (08:15 +0000)]
Fix unexpected stack traces in test-cpu-profiler/JsNativeJsSample

This is a follow-up fix for r17140 which makes sure that cpu profiler is started before profiled js functions are compiled so that the profiler gets information about "no frame" ranges along with add code events.

BUG=v8:2933
R=jkummerow@chromium.org, loislo@chromium.org

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

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

11 years agoAllocationSites for all literals
mvstanton@chromium.org [Wed, 16 Oct 2013 08:10:36 +0000 (08:10 +0000)]
AllocationSites for all literals

R=hpayer@chromium.org

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

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

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

11 years agoFix for non-SSE2.
svenpanne@chromium.org [Wed, 16 Oct 2013 08:08:41 +0000 (08:08 +0000)]
Fix for non-SSE2.

BUG=cctest/test-assembler-ia32/AssemblerIa32Extractps
R=bmeurer@chromium.org

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

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

11 years agoRefactor deferred_objects_double_values_ a little in the deoptimization
haitao.feng@intel.com [Wed, 16 Oct 2013 03:30:06 +0000 (03:30 +0000)]
Refactor deferred_objects_double_values_ a little in the deoptimization

R=mstarzinger@chromium.org

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

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

11 years agoMIPS: Make TestJSArrayForAllocationMemento less awkward.
palfia@homejinni.com [Tue, 15 Oct 2013 23:12:15 +0000 (23:12 +0000)]
MIPS: Make TestJSArrayForAllocationMemento less awkward.

Port r17220 (be968d52)

Original commit message:
Generated code ended up having two conditional jump statements in a
row. Also introduce JumpIfJSArrayHasAllocationMemento which handles
most cases more simply.

BUG=
R=gergely@homejinni.com

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

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

11 years agoHandlify JSObject::SetObserved
rafaelw@chromium.org [Tue, 15 Oct 2013 19:28:11 +0000 (19:28 +0000)]
Handlify JSObject::SetObserved

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoProperly export uin32_bias double constant.
olivf@chromium.org [Tue, 15 Oct 2013 16:12:25 +0000 (16:12 +0000)]
Properly export uin32_bias double constant.

This makes LoadUint32 snapshot safe.

BUG=
R=svenpanne@chromium.org

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

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

11 years agoRevert "AllocationSites for all literals"
mvstanton@chromium.org [Tue, 15 Oct 2013 15:35:23 +0000 (15:35 +0000)]
Revert "AllocationSites for all literals"

This reverts commit r17219 due to WebKit failures.

R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

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

11 years agoSimplify array element access in Hydrogen.
jkummerow@chromium.org [Tue, 15 Oct 2013 15:06:04 +0000 (15:06 +0000)]
Simplify array element access in Hydrogen.

No change in functionality intended.

R=mvstanton@chromium.org

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

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