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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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