haitao.feng@intel.com
e8fe083eb0
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
2013-08-05 12:43:04 +00:00
bmeurer@chromium.org
274f254236
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
2013-08-05 12:27:12 +00:00
yurys@chromium.org
d38bbe354b
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
2013-08-05 11:48:24 +00:00
jochen@chromium.org
cb68e2cd9b
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
2013-08-05 11:14:46 +00:00
dcarney@chromium.org
47c3a081f1
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
2013-08-05 10:04:50 +00:00
dcarney@chromium.org
207396101f
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
2013-08-05 09:46:23 +00:00
mstarzinger@chromium.org
a50827e044
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
2013-08-05 09:35:18 +00:00
yangguo@chromium.org
b58093c953
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
2013-08-05 09:28:22 +00:00
yangguo@chromium.org
1ed4df6b57
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
2013-08-05 09:02:47 +00:00
verwaest@chromium.org
251c191824
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
2013-08-05 08:59:55 +00:00
dcarney@chromium.org
14ed15e7e1
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
2013-08-05 07:34:29 +00:00
yurys@chromium.org
411d21b2b1
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
2013-08-05 07:17:08 +00:00
svenpanne@chromium.org
e544f130c5
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
2013-08-05 07:00:38 +00:00
dcarney@chromium.org
eb52c66fd0
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
2013-08-05 06:58:48 +00:00
svenpanne@chromium.org
d5b9616991
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
2013-08-05 06:34:26 +00:00
palfia@homejinni.com
ea38ee8782
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
2013-08-02 18:35:19 +00:00
haitao.feng@intel.com
dfda85a91a
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
2013-08-02 13:42:02 +00:00
dslomov@chromium.org
5230c19d8b
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
2013-08-02 13:03:06 +00:00
dslomov@chromium.org
f8b80ca66d
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
2013-08-02 12:56:53 +00:00
dslomov@chromium.org
1688f3c167
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
2013-08-02 12:19:22 +00:00
jkummerow@chromium.org
232a2c0d88
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
2013-08-02 12:17:19 +00:00
svenpanne@chromium.org
bf71023ba5
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
2013-08-02 11:56:35 +00:00
mstarzinger@chromium.org
1e296936eb
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
2013-08-02 11:24:55 +00:00
titzer@chromium.org
af2663afd8
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
2013-08-02 11:17:26 +00:00
machenbach@chromium.org
a37040b275
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
2013-08-02 10:59:23 +00:00
mstarzinger@chromium.org
c87abd1117
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
2013-08-02 10:57:48 +00:00
loislo@chromium.org
d2c443b774
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
2013-08-02 09:53:11 +00:00
mstarzinger@chromium.org
477b41c89b
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
2013-08-02 09:35:44 +00:00
mstarzinger@chromium.org
12c8d36331
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
2013-08-02 09:02:02 +00:00
jkummerow@chromium.org
a47705644e
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
2013-08-02 08:59:02 +00:00
jkummerow@chromium.org
15c1d23fbc
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
2013-08-02 08:55:26 +00:00
jkummerow@chromium.org
865582e02b
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
2013-08-02 08:52:59 +00:00
machenbach@chromium.org
5666c32d0b
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
2013-08-02 07:58:23 +00:00
hpayer@chromium.org
286fc963b2
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
2013-08-02 06:40:50 +00:00
jochen@chromium.org
777bae581a
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
2013-08-01 19:43:06 +00:00
jochen@chromium.org
738237e877
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
2013-08-01 19:25:27 +00:00
jochen@chromium.org
71cad9edb6
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
2013-08-01 19:21:16 +00:00
jochen@chromium.org
8bee9f0c3a
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
2013-08-01 19:20:42 +00:00
jochen@chromium.org
0da9a28967
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
2013-08-01 19:20:01 +00:00
danno@chromium.org
40dff5067c
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
2013-08-01 16:57:58 +00:00
jkummerow@chromium.org
61f531cf23
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
2013-08-01 16:12:31 +00:00
ulan@chromium.org
4de5d18077
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
2013-08-01 12:55:19 +00:00
dslomov@chromium.org
f62ffeef31
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
2013-08-01 09:18:28 +00:00
dslomov@chromium.org
4ebeda216d
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
2013-08-01 08:52:21 +00:00
hpayer@chromium.org
3e7e3f70a6
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
2013-08-01 08:49:27 +00:00
dslomov@chromium.org
791e1a9cb2
Revert "Speed-up 'new TypedArray(arrayLike)'."
...
This reverts commit r15998 for breaking NaCl build.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:47:39 +00:00
bmeurer@chromium.org
3da5d1ad7b
Get rid of HStringLength.
...
Use HLoadNamedField to load the string length field instead.
Depends on: https://codereview.chromium.org/21488002
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21499002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:42:47 +00:00
mstarzinger@chromium.org
2e7c5d4988
Fix printing of Harmony Set and Map instances.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/20705003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:36:21 +00:00
hpayer@chromium.org
9e8058146e
Cleaning up HAllocate space and double alignment selection.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21074004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:34:36 +00:00
bmeurer@chromium.org
9f8d162471
Fix broken HCheckInstanceType::Canonicalize().
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21488002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:27:46 +00:00