platform/upstream/v8.git
11 years agoRevert "Deprecate self and total time getters and total sample count getter on CpuPro...
yurys@chromium.org [Thu, 8 Aug 2013 14:43:44 +0000 (14:43 +0000)]
Revert "Deprecate self and total time getters and total sample count getter on CpuProfileNode"

This reverts commit r16116 due to WebKit compilation breakage. Will reland it once Blink r155755 is rolled into Chromium.

TBR=svenpanne@chromium.org
BUG=None

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

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

11 years agoDeprecate self and total time getters and total sample count getter on CpuProfileNode
yurys@chromium.org [Thu, 8 Aug 2013 13:39:57 +0000 (13:39 +0000)]
Deprecate self and total time getters and total sample count getter on CpuProfileNode

All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.

Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.

BUG=267595
R=loislo@chromium.org, svenpanne@chromium.org

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

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

11 years agoMIPS: Optimize DoCheckMaps.
plind44@gmail.com [Thu, 8 Aug 2013 05:04:42 +0000 (05:04 +0000)]
MIPS: Optimize DoCheckMaps.

This simple change moves the Deoptimize call into the Deopt table
where it belongs, and shortens the inline map-check.

Gives a surprisingly large performance gain, around 4% on Octane.

BUG=
R=gergely@homejinni.com

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

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

11 years agoPatch to enhance the source code line information for profiler.
haitao.feng@intel.com [Thu, 8 Aug 2013 02:16:12 +0000 (02:16 +0000)]
Patch to enhance the source code line information for profiler.

This patch is to enhance the source code line information for profiler.

For the Hydrogen compilation, most of the source code line information
is not copied from the HInstruction the to corresponding LInstruction.

This patch defines one PositionBits field for LInstruction and copies the
sorce code position value from the HInstruction.

When Generating the native code, we use RecordPosition(..) function to
write LInstruction's position value to position recorder.

For the MIPS platform, I did not touch because I have no devices
to verify the modification on it.

R=danno@chromium.org

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

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

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

11 years agotweak of Math.abs in its x64 stub
haitao.feng@intel.com [Thu, 8 Aug 2013 01:29:33 +0000 (01:29 +0000)]
tweak of Math.abs in its x64 stub

R=jkummerow@chromium.org

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

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

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

11 years agoMIPS: Refactor and improve inlined double-aligned allocations
plind44@gmail.com [Wed, 7 Aug 2013 21:54:03 +0000 (21:54 +0000)]
MIPS: Refactor and improve inlined double-aligned allocations

Additionally, fix object size register clobbering in Allocate routine.

Based on 13284 (d42bf80).

BUG=
R=plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

11 years agoFix Object.freeze, Object.observe wrt CountOperation and CompoundAssignment.
verwaest@chromium.org [Wed, 7 Aug 2013 18:45:41 +0000 (18:45 +0000)]
Fix Object.freeze, Object.observe wrt CountOperation and CompoundAssignment.

BUG=2774,2779
R=adamk@chromium.org

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

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

11 years agoRevert "mod does not rely on a fixed register anymore, the arguments are passed via...
verwaest@chromium.org [Wed, 7 Aug 2013 17:22:17 +0000 (17:22 +0000)]
Revert "mod does not rely on a fixed register anymore, the arguments are passed via the stack."
Due to buildbot failures.

BUG=
R=danno@chromium.org

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

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

11 years agoSupport idle time in CPU profiler
yurys@chromium.org [Wed, 7 Aug 2013 17:04:27 +0000 (17:04 +0000)]
Support idle time in CPU profiler

This change provides an API for the embedder to tell CPU profiler if it is idle or busy with some task. This way we can discriminate between idle time and some native code execution.

BUG=268947
R=alph@chromium.org, yangguo@chromium.org

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

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

11 years agomod does not rely on a fixed register anymore, the arguments are passed via the stack.
olivf@chromium.org [Wed, 7 Aug 2013 16:47:24 +0000 (16:47 +0000)]
mod does not rely on a fixed register anymore, the arguments are passed via the stack.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoMIPS: First implementation of allocation elimination in Hydrogen.
palfia@homejinni.com [Wed, 7 Aug 2013 16:34:20 +0000 (16:34 +0000)]
MIPS: First implementation of allocation elimination in Hydrogen.

Port r16098 (328ff5f7)

Original commit message:
This change implements a simple data-flow analysis pass over captured
objects to the existing escape analysis. It tracks the state of values
in the Hydrogen graph through CapturedObject marker instructions that
are used to construct an appropriate translation for the deoptimizer to
be able to materialize these objects again.

This can be considered a combination of scalar replacement of loads and
stores on captured objects and sinking of unused allocations.

TEST=mjsunit/compiler/escape-analysis

BUG=

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

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

11 years agoCheck for empty handle in JSON stringifier
jkummerow@chromium.org [Wed, 7 Aug 2013 16:34:13 +0000 (16:34 +0000)]
Check for empty handle in JSON stringifier

R=yangguo@chromium.org

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

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

11 years agoRemoved wrong ASSERTs on MIPS.
svenpanne@chromium.org [Wed, 7 Aug 2013 13:42:46 +0000 (13:42 +0000)]
Removed wrong ASSERTs on MIPS.

R=palfia@homejinni.com

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

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

11 years agoHandle Symbols in the LBranch instruction on x64.
svenpanne@chromium.org [Wed, 7 Aug 2013 13:33:41 +0000 (13:33 +0000)]
Handle Symbols in the LBranch instruction on x64.

This was an omission in https://code.google.com/p/v8/source/detail?r=14051.

R=rossberg@chromium.org

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

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

11 years agoFix step in positions (include various calls and exclude current pc point), add a...
prybin@chromium.org [Wed, 7 Aug 2013 12:27:22 +0000 (12:27 +0000)]
Fix step in positions (include various calls and exclude current pc point), add a test

R=yangguo@chromium.org

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

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

11 years agoMove i18n's number-format C++ code to runtime
jochen@chromium.org [Wed, 7 Aug 2013 12:14:50 +0000 (12:14 +0000)]
Move i18n's number-format C++ code to runtime

BUG=v8:2745
R=dcarney@chromium.org, mstarzinger@chromium.org

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

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

11 years agoFirst implementation of allocation elimination in Hydrogen.
mstarzinger@chromium.org [Wed, 7 Aug 2013 11:24:14 +0000 (11:24 +0000)]
First implementation of allocation elimination in Hydrogen.

This change implements a simple data-flow analysis pass over captured
objects to the existing escape analysis. It tracks the state of values
in the Hydrogen graph through CapturedObject marker instructions that
are used to construct an appropriate translation for the deoptimizer to
be able to materialize these objects again.

This can be considered a combination of scalar replacement of loads and
stores on captured objects and sinking of unused allocations.

R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis

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

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

11 years agoRe-reland "Flush parallel recompilation queues on context dispose notification"
yangguo@chromium.org [Wed, 7 Aug 2013 09:33:09 +0000 (09:33 +0000)]
Re-reland "Flush parallel recompilation queues on context dispose notification"

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

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

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

11 years agoMake JSON::Parse return Local<Value>
yangguo@chromium.org [Wed, 7 Aug 2013 09:11:39 +0000 (09:11 +0000)]
Make JSON::Parse return Local<Value>

It should be able to return Smi, etc. Not only JSObject.

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

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

Patch from Takeshi Yoshino <tyoshino@chromium.org>.

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

11 years agoPrepare push to trunk. Now working on version 3.20.15.
dslomov@chromium.org [Wed, 7 Aug 2013 09:05:59 +0000 (09:05 +0000)]
Prepare push to trunk.  Now working on version 3.20.15.

R=danno@chromium.org

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

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

11 years agoAdd frame pointer markup to grokdump.
mstarzinger@chromium.org [Wed, 7 Aug 2013 08:57:25 +0000 (08:57 +0000)]
Add frame pointer markup to grokdump.

R=yangguo@chromium.org

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

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

11 years agoexpose eternal handle api
dcarney@chromium.org [Wed, 7 Aug 2013 08:26:23 +0000 (08:26 +0000)]
expose eternal handle api

R=svenpanne@chromium.org
BUG=

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

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

11 years agoPacify Win7 builders
jkummerow@chromium.org [Wed, 7 Aug 2013 08:25:44 +0000 (08:25 +0000)]
Pacify Win7 builders

R=svenpanne@chromium.org

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

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

11 years agoHandle external reference values properly in HConstant::ImmortalImmovable().
bmeurer@chromium.org [Wed, 7 Aug 2013 07:08:50 +0000 (07:08 +0000)]
Handle external reference values properly in HConstant::ImmortalImmovable().

R=danno@chromium.org

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

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

11 years agoMove i18n extension's date-format C++ code to runtime
jochen@chromium.org [Wed, 7 Aug 2013 03:40:44 +0000 (03:40 +0000)]
Move i18n extension's date-format C++ code to runtime

BUG=v8:2745
R=dcarney@chromium.org, mstarzinger@chromium.org

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

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

11 years agoMIPS: Fix Sunspider 1.0/crypto-aes.
palfia@homejinni.com [Wed, 7 Aug 2013 00:39:49 +0000 (00:39 +0000)]
MIPS: Fix Sunspider 1.0/crypto-aes.

* This makes sure that DoModI calculates correct result even when
  the left register is the same as the result register.
* Microoptmization: it generates smaller code when left and result
  are different registers.

TEST=benchmarks/sunspider/crypto-aes.js

BUG=

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

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

11 years agoHandlify factory methods for typed array, ArrayBuffer and DataView.
dslomov@chromium.org [Tue, 6 Aug 2013 19:14:51 +0000 (19:14 +0000)]
Handlify factory methods for typed array, ArrayBuffer and DataView.

These factory methods used pointers for constructor fucntions, therefore
those pointers could corrupt if allocation triggered gc.

R=mstarzinger@chromium.org

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

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

11 years agoFix Win64 build after r16079.
dslomov@chromium.org [Tue, 6 Aug 2013 19:13:15 +0000 (19:13 +0000)]
Fix Win64 build after r16079.

TBR=yangguo@chromium.org

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

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

11 years agoFix Array index dehoisting.
ulan@chromium.org [Tue, 6 Aug 2013 16:38:39 +0000 (16:38 +0000)]
Fix Array index dehoisting.

BUG=264203
TEST=test/mjsunit/regress/regress-264203
R=danno@chromium.org

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

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

11 years agoARM/MIPS: Fix Constant-to-DoubleRegister moves in LGapResolver
jkummerow@chromium.org [Tue, 6 Aug 2013 14:46:50 +0000 (14:46 +0000)]
ARM/MIPS: Fix Constant-to-DoubleRegister moves in LGapResolver

R=bmeurer@chromium.org

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

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

11 years agoAdd flaky test classification feature to test suites.
machenbach@chromium.org [Tue, 6 Aug 2013 14:39:39 +0000 (14:39 +0000)]
Add flaky test classification feature to test suites.

Test expectations can now include outcome: FLAKY.

The test runner can now run a class of tests (flaky|non-flaky|all). All tests are in the non-flaky class that are not marked as FLAKY.

The slash correction for windows is now pulled into the test name method. Currently the progress output on windows contains a mixture of / and \.

R=jkummerow@chromium.org

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

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

11 years agoWrap back edge table in an iterator.
yangguo@chromium.org [Tue, 6 Aug 2013 14:38:30 +0000 (14:38 +0000)]
Wrap back edge table in an iterator.

R=titzer@chromium.org
BUG=

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

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

11 years agoDefine V8EXPORT only in v8.h and use it in the other headers
yurys@chromium.org [Tue, 6 Aug 2013 14:37:35 +0000 (14:37 +0000)]
Define V8EXPORT only in v8.h and use it in the other headers

V8EXPORT is defined in each header of V8 public API and the definitions already have some slight discrepancies. This CL makes all headers use the same definition in v8.h

BUG=None
R=svenpanne@chromium.org

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

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

11 years agoRemove test that causes illegal access now
rossberg@chromium.org [Tue, 6 Aug 2013 14:34:25 +0000 (14:34 +0000)]
Remove test that causes illegal access now

TBR=mstarzinger@chromium.org
BUG=265369

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

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

11 years agoTurn assert into runtime assertion to make fuzzer happy
rossberg@chromium.org [Tue, 6 Aug 2013 14:19:13 +0000 (14:19 +0000)]
Turn assert into runtime assertion to make fuzzer happy

R=mstarzinger@chromium.org
BUG=265369

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

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

11 years agoImprove internal stringifcation for custom Error objects.
yangguo@chromium.org [Tue, 6 Aug 2013 13:58:21 +0000 (13:58 +0000)]
Improve internal stringifcation for custom Error objects.

If an developer attempts to "subclass" Error by running
`MyError.prototype = new Error();`, then the internal v8::Message object
that's produced and handed off to `window.onerror` handlers is poorly
stringified as "[object Object]".

This patch adjusts the stringification process for these objects to
include not only native Error objects, but also objects that have Error
in their prototype chain, and haven't overwritten Error.toString with
some custom variant.

BUG=2822
R=mstarzinger@chromium.org, yangguo@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

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

11 years agoI found this working on
rossberg@chromium.org [Tue, 6 Aug 2013 13:49:10 +0000 (13:49 +0000)]
I found this working on

https://codereview.chromium.org/19541010/

The main problem is that if you called Object.getNotifier(obj) on an object, %SetObserved(object) would never get called on it, and thus it would be unobservable (new test added for this).

Additionally, Runtime::SetObserved was asserting obj->IsJSObject() which would fail if called on a proxy.

It just happens that our existing test always called getNotifier() before Object.observe on proxies, and thus we never previously attempted to transition the map of a proxy.

Both issues are now fixed and properly tested.

R=rossberg@chromium.org

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

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

11 years agoDesugar bitwise negation into XOR and kill all UnaryOp stuff.
svenpanne@chromium.org [Tue, 6 Aug 2013 13:34:51 +0000 (13:34 +0000)]
Desugar bitwise negation into XOR and kill all UnaryOp stuff.

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

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

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

11 years agoUpdate Array Iterator to use numeric indexes
dslomov@chromium.org [Tue, 6 Aug 2013 13:10:07 +0000 (13:10 +0000)]
Update Array Iterator to use numeric indexes

At the last face-to-face meeting it was decided that we should use
numeric indexes for the Array Iterator values.

https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-24.md#514-keys-entries-return-numbers-for-array-index-properties

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

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

11 years agoUn-revert "Implement simple effect typing for variables" and "Handle switch effects"
jkummerow@chromium.org [Tue, 6 Aug 2013 12:57:23 +0000 (12:57 +0000)]
Un-revert "Implement simple effect typing for variables" and "Handle switch effects"

This re-lands r15776 and r15777, reverting the revert in r15786.

R=rossberg@chromium.org

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

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

11 years agor11951 changed the existing check for the __SOFTFP__ define in ARM platforms
bmeurer@chromium.org [Tue, 6 Aug 2013 11:08:32 +0000 (11:08 +0000)]
r11951 changed the existing check for the __SOFTFP__ define in ARM platforms
to a check for __SOFTP. Most other programs look for __SOFTFP__ [1], so
look for both to increase the chances of not erroring out when using GCC 4.5.

[1] Based on http://codesearch.debian.net/search?q=__SOFTFP__ vs
    http://codesearch.debian.net/search?q=__SOFTFP[^_]

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

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

Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.

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

11 years agoUse standard routine to compute pointer hashs in heap profiler
yurys@chromium.org [Tue, 6 Aug 2013 08:49:05 +0000 (08:49 +0000)]
Use standard routine to compute pointer hashs in heap profiler

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

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

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

11 years agoFix DeferredInstanceMigration to store the result to temp rather than temp to result.
verwaest@chromium.org [Tue, 6 Aug 2013 08:26:31 +0000 (08:26 +0000)]
Fix DeferredInstanceMigration to store the result to temp rather than temp to result.

Thanks to Akos Palfi for finding the bug.

BUG=
R=ulan@chromium.org

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

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

11 years agoReturn start/end profiling time in microseconds instead of milliseconds
yurys@chromium.org [Tue, 6 Aug 2013 08:00:58 +0000 (08:00 +0000)]
Return start/end profiling time in microseconds instead of milliseconds

The start and end time are now measured in microseconds and the type is int64_t.
This way it seems more natural as we are going to support submilisecond sampling
rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test
failure caused by comparison between long double and double.

TEST=cctest/test-cpu-profiler/ProfileStartEndTime
BUG=v8:2824
R=bmeurer@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.14.
danno@chromium.org [Tue, 6 Aug 2013 07:31:23 +0000 (07:31 +0000)]
Prepare push to trunk.  Now working on version 3.20.14.

R=jkummerow@chromium.org

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

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

11 years agodelete eternal handle blocks correctly
dcarney@chromium.org [Tue, 6 Aug 2013 06:34:54 +0000 (06:34 +0000)]
delete eternal handle blocks correctly

TBR=mstarzinger@chromium.org
BUG=

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

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

11 years agoMIPS: Migrate instance of deprecated maps in HCheckMaps.
palfia@homejinni.com [Tue, 6 Aug 2013 01:12:10 +0000 (01:12 +0000)]
MIPS: Migrate instance of deprecated maps in HCheckMaps.

Port r16057 (b73ae514)

Original commit message:
Currently only direct map checks are supported. Otherwise only polymorphic cases with a generic fallback behave properly, regular polymorphic cases still need to be adapted.

BUG=

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

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

11 years agoMake some constants' meaning clear for X64
haitao.feng@intel.com [Tue, 6 Aug 2013 00:09:01 +0000 (00:09 +0000)]
Make some constants' meaning clear for X64

R=danno@chromium.org

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

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

11 years agoMIPS: Replace HCheckPrototypeMaps by explicit map checks of constant values.
palfia@homejinni.com [Mon, 5 Aug 2013 17:04:10 +0000 (17:04 +0000)]
MIPS: Replace HCheckPrototypeMaps by explicit map checks of constant values.

Port r16055 (7567e57f)

BUG=

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

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

11 years agoChange environment padding value to value with smi representation.
verwaest@chromium.org [Mon, 5 Aug 2013 16:53:28 +0000 (16:53 +0000)]
Change environment padding value to value with smi representation.

BUG=
R=ulan@chromium.org

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

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

11 years agoUse first hit when dumping heap constants.
mstarzinger@chromium.org [Mon, 5 Aug 2013 16:47:45 +0000 (16:47 +0000)]
Use first hit when dumping heap constants.

This makes sure that the first hit is used when dumping heap constants
and hence "TheHoleValue" is not overwritten with other roots that are
initialized to the hole as well.

R=verwaest@chromium.org

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

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

11 years agoMigrate instance of deprecated maps in HCheckMaps.
verwaest@chromium.org [Mon, 5 Aug 2013 16:42:39 +0000 (16:42 +0000)]
Migrate instance of deprecated maps in HCheckMaps.

Currently only direct map checks are supported. Otherwise only polymorphic cases with a generic fallback behave properly, regular polymorphic cases still need to be adapted.

R=danno@chromium.org

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

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

11 years agoAdd "benchmarks" test suite
jkummerow@chromium.org [Mon, 5 Aug 2013 14:54:09 +0000 (14:54 +0000)]
Add "benchmarks" test suite

R=machenbach@chromium.org

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

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

11 years agoReplace HCheckPrototypeMaps by explicit map checks of constant values.
verwaest@chromium.org [Mon, 5 Aug 2013 13:45:16 +0000 (13:45 +0000)]
Replace HCheckPrototypeMaps by explicit map checks of constant values.

R=danno@chromium.org

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

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

11 years agoMore cleanup regarding the maximum non-large object allocation size.
hpayer@chromium.org [Mon, 5 Aug 2013 12:52:53 +0000 (12:52 +0000)]
More cleanup regarding the maximum non-large object allocation size.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoIntroduce Push and Pop register macro instructions for all platforms
haitao.feng@intel.com [Mon, 5 Aug 2013 12:43:04 +0000 (12:43 +0000)]
Introduce Push and Pop register macro instructions for all platforms

R=danno@chromium.org

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

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

11 years agoRevert "Return start/end profiling time in microseconds instead of milliseconds"
bmeurer@chromium.org [Mon, 5 Aug 2013 12:27:12 +0000 (12:27 +0000)]
Revert "Return start/end profiling time in microseconds instead of milliseconds"

This reverts r16049 for breaking build on windows.

TBR=svenpanne@chromium.org,machenbach@chromium.org

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

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

11 years agoReturn start/end profiling time in microseconds instead of milliseconds
yurys@chromium.org [Mon, 5 Aug 2013 11:48:24 +0000 (11:48 +0000)]
Return start/end profiling time in microseconds instead of milliseconds

The start and end time are now measured in microseconds and the type is int64_t. This way it seems more natural as we are going to support submilisecond sampling rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test failure caused by comparison between long double and double.

TEST=cctest/test-cpu-profiler/ProfileStartEndTime
BUG=v8:2824
R=alph@chromium.org, bmeurer@chromium.org

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

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

11 years agoExpose JSON parser through V8 API
jochen@chromium.org [Mon, 5 Aug 2013 11:14:46 +0000 (11:14 +0000)]
Expose JSON parser through V8 API

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

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

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

11 years agofix 16045
dcarney@chromium.org [Mon, 5 Aug 2013 10:04:50 +0000 (10:04 +0000)]
fix 16045

TBR=mstarzinger@chromium.org
BUG=

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

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

11 years agointroduce eternal handles
dcarney@chromium.org [Mon, 5 Aug 2013 09:46:23 +0000 (09:46 +0000)]
introduce eternal handles

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoAdd explicit transition flag to HStoreNamedField.
mstarzinger@chromium.org [Mon, 5 Aug 2013 09:35:18 +0000 (09:35 +0000)]
Add explicit transition flag to HStoreNamedField.

R=bmeurer@chromium.org

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

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

11 years agoAdd notice when parallel recompilation is disabled by tracing.
yangguo@chromium.org [Mon, 5 Aug 2013 09:28:22 +0000 (09:28 +0000)]
Add notice when parallel recompilation is disabled by tracing.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoDisable parallel recompilation for --trace-hydrogen-stubs.
yangguo@chromium.org [Mon, 5 Aug 2013 09:02:47 +0000 (09:02 +0000)]
Disable parallel recompilation for --trace-hydrogen-stubs.

R=bmeurer@chromium.org
BUG=

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

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

11 years agoFix the loop-builder to tag the entire body as part of the loop.
verwaest@chromium.org [Mon, 5 Aug 2013 08:59:55 +0000 (08:59 +0000)]
Fix the loop-builder to tag the entire body as part of the loop.

R=danno@chromium.org

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

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

11 years agoMake GlobalHandle::NodeBlock deletable
dcarney@chromium.org [Mon, 5 Aug 2013 07:34:29 +0000 (07:34 +0000)]
Make GlobalHandle::NodeBlock deletable

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoAdd start and end profiling time to v8::CpuProfile
yurys@chromium.org [Mon, 5 Aug 2013 07:17:08 +0000 (07:17 +0000)]
Add start and end profiling time to v8::CpuProfile

I'm going to change CPU profiler API and deprecate GetSelfTime, GetTotalTime and GetTotalSamplesCount on CpuProfileNode as all of those values are derived from self samples count and sampling rate. The sampling rate in turn is calculate based on the profiling duration so having start/end time and total sample count is enough for calculating smpling rate.

BUG=267595
R=alph@chromium.org, bmeurer@chromium.org

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

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

11 years agoRemove unused UNARY_MINUS builtin.
svenpanne@chromium.org [Mon, 5 Aug 2013 07:00:38 +0000 (07:00 +0000)]
Remove unused UNARY_MINUS builtin.

R=bmeurer@chromium.org

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

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

11 years agoIsNearDeath needs to include pending nodes
dcarney@chromium.org [Mon, 5 Aug 2013 06:58:48 +0000 (06:58 +0000)]
IsNearDeath needs to include pending nodes

R=svenpanne@chromium.org
BUG=

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

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

11 years agoClean some unuse code of unary negation
svenpanne@chromium.org [Mon, 5 Aug 2013 06:34:26 +0000 (06:34 +0000)]
Clean some unuse code of unary negation

R=svenpanne@chromium.org

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

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

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

11 years agoMIPS: Avoid redundant smi check for Math.abs
palfia@homejinni.com [Fri, 2 Aug 2013 18:35:19 +0000 (18:35 +0000)]
MIPS: Avoid redundant smi check for Math.abs

Port r16021 (d79f4450)

BUG=

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

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

11 years agoIntroduce PopReturnAddressTo and PushReturnAddressFrom macro-assembler instructions...
haitao.feng@intel.com [Fri, 2 Aug 2013 13:42:02 +0000 (13:42 +0000)]
Introduce PopReturnAddressTo and PushReturnAddressFrom macro-assembler instructions for X64

R=danno@chromium.org

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

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

11 years agoAdd size_t length argument to v8::ArrayBuffer::Allocator::Free.
dslomov@chromium.org [Fri, 2 Aug 2013 13:03:06 +0000 (13:03 +0000)]
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

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

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

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

11 years agoRevert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."
dslomov@chromium.org [Fri, 2 Aug 2013 12:56:53 +0000 (12:56 +0000)]
Revert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."

This reverts r16031 for breaking shared build.

TBR=mstarzinger@chromium.org

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

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

11 years agoAdd size_t length argument to v8::ArrayBuffer::Allocator::Free.
dslomov@chromium.org [Fri, 2 Aug 2013 12:19:22 +0000 (12:19 +0000)]
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

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

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

11 years agoRegression test for issue 2813 / r16008
jkummerow@chromium.org [Fri, 2 Aug 2013 12:17:19 +0000 (12:17 +0000)]
Regression test for issue 2813 / r16008

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

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

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

11 years agoReplaced unary negation by multiplication with -1.
svenpanne@chromium.org [Fri, 2 Aug 2013 11:56:35 +0000 (11:56 +0000)]
Replaced unary negation by multiplication with -1.

This fixes a deopt loop in the Epic Citadel demo and removes some code. Apart from that, this change is performance-neutral.

When we do something similar for BIT_NOT, the whole UnaryOp stuff can go away.

R=jkummerow@chromium.org

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

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

11 years agoStore transition on HStoreNamedField as HConstant.
mstarzinger@chromium.org [Fri, 2 Aug 2013 11:24:55 +0000 (11:24 +0000)]
Store transition on HStoreNamedField as HConstant.

This allows optimization passes that run in the parallel compiler thread
to use the map that a store transitions to for further analysis even
though the map handle cannot be dereferenced.

R=jkummerow@chromium.org

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

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

11 years agoRemove instructions and infrastructure related to IDEFs that is now obsolete (and...
titzer@chromium.org [Fri, 2 Aug 2013 11:17:26 +0000 (11:17 +0000)]
Remove instructions and infrastructure related to IDEFs that is now obsolete (and was never turned on). The new bounds check elimination phase doesn't make use of these features, as they were the first parts of the previous approach which was never completed.
BUG=
R=danno@chromium.org

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

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

11 years agoMake optimized debug builds link against debug CRT.
machenbach@chromium.org [Fri, 2 Aug 2013 10:59:23 +0000 (10:59 +0000)]
Make optimized debug builds link against debug CRT.

We recently had some XP issues on chromium.win after https://codereview.chromium.org/19384011/.

This might fix it - quote: "The most likely cause of the problem is a gyp (or similar) change that resulted in v8.dll linking against the release version of the crt (for a debug build). There are two MS VC related files: the crt and the c++ std lib (MSVCR100.DLL and MSVCP100D.DLL). The former is set to release, the latter to debug."

I am not entirely sure if this change fits to the linker options for debug level 2.

R=jkummerow@chromium.org

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

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

11 years agoAdd new Harmony methods to Array.prototype object.
mstarzinger@chromium.org [Fri, 2 Aug 2013 10:57:48 +0000 (10:57 +0000)]
Add new Harmony methods to Array.prototype object.

Array.prototype.find
Array.prototype.findIndex

http://people.mozilla.org/~jorendorff/es6-draft.html

BUG=v8:2776,v8:2777
TEST=mjsunit/harmony/array-find,mjsunit/harmony/array-findindex
R=mstarzinger@chromium.org

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

Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.

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

11 years agoExtract hardcoded error strings into a single place and replace them with enum.
loislo@chromium.org [Fri, 2 Aug 2013 09:53:11 +0000 (09:53 +0000)]
Extract hardcoded error strings into a single place and replace them with enum.

I'd like to propagate bailout reason to cpu profiler.
So I need to save it into heap object SharedFunctionInfo.
But:
1) all bailout reason strings spread across all the sources.
2) they are native strings and if I convert them into String then I may have a performance issue.
3) one byte is enough for 184 bailout reasons. Otherwise we need 8 bytes for the pointer.

Also I think it would be nice to have error strings collected in one place.
In that case we will get additional benefits:

It allows us to keep this set of messages under control.
It gives us a chance to internationalize them.
It slightly reduces the binary footprint.

From the other hand the developers have to add new strings into that enum.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoFix Mac build after r16022.
mstarzinger@chromium.org [Fri, 2 Aug 2013 09:35:44 +0000 (09:35 +0000)]
Fix Mac build after r16022.

R=jkummerow@chromium.org

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

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

11 years agoGenerate grokdump constants with 'make grokdump' now.
mstarzinger@chromium.org [Fri, 2 Aug 2013 09:02:02 +0000 (09:02 +0000)]
Generate grokdump constants with 'make grokdump' now.

R=svenpanne@chromium.org

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

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

11 years agoAvoid redundant smi check for Math.abs
jkummerow@chromium.org [Fri, 2 Aug 2013 08:59:02 +0000 (08:59 +0000)]
Avoid redundant smi check for Math.abs

R=jkummerow@chromium.org

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

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

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

11 years agoUse test(reg, imm) when the operand is a register on ia32
jkummerow@chromium.org [Fri, 2 Aug 2013 08:55:26 +0000 (08:55 +0000)]
Use test(reg, imm) when the operand is a register on ia32

R=jkummerow@chromium.org

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

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

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

11 years agoTSan: Move definition of AtomicOps_x86CPUFeatureStruct into v8::internal namespace
jkummerow@chromium.org [Fri, 2 Aug 2013 08:52:59 +0000 (08:52 +0000)]
TSan: Move definition of AtomicOps_x86CPUFeatureStruct into v8::internal namespace

This matches other atomicops_internals_* files.

R=ulan@chromium.org

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

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

11 years agoRevert windows-specific part of r15937 for debug level 1.
machenbach@chromium.org [Fri, 2 Aug 2013 07:58:23 +0000 (07:58 +0000)]
Revert windows-specific part of r15937 for debug level 1.

The change in r15937 might have broken a mozilla test under windows. See https://codereview.chromium.org/19384011/

Each case of debug 0,1,2 is now stated explicitly for better clarity in the msvs section. This causes some minor code duplications, which we can squeeze again after toolchain.gypi is in a stable state.

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

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

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

11 years agoDisable test in object observe because of bug 2774.
hpayer@chromium.org [Fri, 2 Aug 2013 06:40:50 +0000 (06:40 +0000)]
Disable test in object observe because of bug 2774.

BUG=
R=verwaest@chromium.org

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

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

11 years agoReenable tests that need to access the default timezone.
jochen@chromium.org [Thu, 1 Aug 2013 19:43:06 +0000 (19:43 +0000)]
Reenable tests that need to access the default timezone.

It's now available via builtins.

BUG=v8:2475
R=mstarzinger@chromium.org

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

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

11 years agoMove helper methods from i18n extension into runtime.
jochen@chromium.org [Thu, 1 Aug 2013 19:25:27 +0000 (19:25 +0000)]
Move helper methods from i18n extension into runtime.

BUG=v8:2475
R=mstarzinger@chromium.org

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

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

11 years agoFix incorrect #ifdef statements for I18N support.
jochen@chromium.org [Thu, 1 Aug 2013 19:21:16 +0000 (19:21 +0000)]
Fix incorrect #ifdef statements for I18N support.

R=jkummerow@chromium.org

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

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

11 years agoRemove test that v8Intl symbol exists, as we don't define it anymore.
jochen@chromium.org [Thu, 1 Aug 2013 19:20:42 +0000 (19:20 +0000)]
Remove test that v8Intl symbol exists, as we don't define it anymore.

R=jkummerow@chromium.org

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

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

11 years agoNever define 'DEBUG' for non-v8 code
jochen@chromium.org [Thu, 1 Aug 2013 19:20:01 +0000 (19:20 +0000)]
Never define 'DEBUG' for non-v8 code

R=jkummerow@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.13.
danno@chromium.org [Thu, 1 Aug 2013 16:57:58 +0000 (16:57 +0000)]
Prepare push to trunk.  Now working on version 3.20.13.

R=jkummerow@chromium.org

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

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

11 years agoRemove buggy ToNumber truncation
jkummerow@chromium.org [Thu, 1 Aug 2013 16:12:31 +0000 (16:12 +0000)]
Remove buggy ToNumber truncation

BUG=v8:2813
R=danno@chromium.org

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

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

11 years agoFix mozilla regress-398085-01 failure on windows.
ulan@chromium.org [Thu, 1 Aug 2013 12:55:19 +0000 (12:55 +0000)]
Fix mozilla regress-398085-01 failure on windows.

Make sure that all stack pages are mapped before accessing them.

R=jkummerow@chromium.org

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

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

11 years agoCalling Map etc without new should throw TypeError
dslomov@chromium.org [Thu, 1 Aug 2013 09:18:28 +0000 (09:18 +0000)]
Calling Map etc without new should throw TypeError

Even though we do not yet allow Map, Set, WeakMap and WeakSet to be
subclassed we need to ensure that we do not allow them to be [[Call]]ed
to allow them to be subclassed in the future.

BUG=v8:2819
R=dslomov@chromium.org, mstarzinger@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

11 years agoSpeed-up 'new TypedArray(arrayLike)'.
dslomov@chromium.org [Thu, 1 Aug 2013 08:52:21 +0000 (08:52 +0000)]
Speed-up 'new TypedArray(arrayLike)'.

Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

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

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

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

11 years agoPretenure heap number in high promotino mode if a store requires a mutable heap numbe...
hpayer@chromium.org [Thu, 1 Aug 2013 08:49:27 +0000 (08:49 +0000)]
Pretenure heap number in high promotino mode if a store requires a mutable heap number to be allocated.

BUG=
R=mstarzinger@chromium.org

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

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