mikhail.naganov@gmail.com
dae713f0ad
Reapply r10158: Distinguish weak references in heap snapshots, group GC roots.
...
[Fixed the bug revealed by the Win32 bot]
Several changes to better organize snapshot data:
1. Provide information about weak references.
2. Group (GC roots) children.
3. Prettify debug snapshot printing.
BUG=v8:1832
TEST=cctest/test-heap-profiler/*Weak*
TBR=vitalyr@chromium.org
Initial CL: http://codereview.chromium.org/8716009
Review URL: http://codereview.chromium.org/8822019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 17:41:47 +00:00
danno@chromium.org
c33dfd1154
Don't track Smi->Double->Object element transitions for small undefined arrays.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8816009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 17:21:48 +00:00
fschneider@chromium.org
ff6f2fa9b3
Remove unnecessary use of raw pointers in hydrogen graph builder.
...
This is potentially a source of bugs, if someone inserts some code
that causes allocation.
Review URL: http://codereview.chromium.org/8818015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 15:31:01 +00:00
ulan@chromium.org
cda5b1a53f
Use the old handler for low frequency idle notifications.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8818005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 14:30:21 +00:00
yangguo@chromium.org
e9688608cd
Fix presubmit.
...
Review URL: http://codereview.chromium.org/8821016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 13:30:22 +00:00
yangguo@chromium.org
72827079ac
Fixing mozilla test failures regarding Math.pow.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8820011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 13:14:46 +00:00
sgjesse@chromium.org
32ee3c27c6
Handle possible difference between function code and activated code on preparation for break points
...
The full code activated for a function might not be the same code as
is currently the active full code for a function. There where some
asumptions in the debugger preparation for break points.
Unfortunately there is currently no regression test.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8818010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 13:09:05 +00:00
erik.corry@gmail.com
81302d3b2e
Elide write barriers and remove some heap_object->GetHeap() calls on
...
Smi write barriers.
Review URL: http://codereview.chromium.org/8822008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 13:00:40 +00:00
fschneider@chromium.org
066822a2cf
Port to x64 and ARM and some refactoring of ia32.
...
Review URL: http://codereview.chromium.org/8111006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 12:11:08 +00:00
erik.corry@gmail.com
c5c6cc5284
The memory size test makes no sense on the simulated platforms.
...
Review URL: http://codereview.chromium.org/8818007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 12:09:11 +00:00
yangguo@chromium.org
c78825991a
Remove early NaN/Infinity check in MathPowStub.
...
Review URL: http://codereview.chromium.org/8817015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 11:56:56 +00:00
keuchel@chromium.org
8b34f4630b
Hydrogen support for stack local harmony bindings in function scope.
...
This is the first CL in a series that add support for the harmony scoping
features to crankshaft. This CL specifically adds support for stack
allocated 'let' and 'const' declared variables in function scopes.
TEST=mjsunit/harmony/block-let-crankshaft.js
Review URL: http://codereview.chromium.org/8806012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 09:41:06 +00:00
yangguo@chromium.org
087737cbcd
Fix presubmit.
...
Review URL: http://codereview.chromium.org/8816010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 09:37:50 +00:00
yangguo@chromium.org
8e6655c676
Stop skipping regress-397.js
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8804013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 09:20:55 +00:00
yangguo@chromium.org
5e432754b3
Skip check for +/-0.5 in optimized Math.pow (ia32).
...
Review URL: http://codereview.chromium.org/8820007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 09:20:28 +00:00
yangguo@chromium.org
fe2049fcb8
Fixing fix for MathPowHalf on ARM.
...
Review URL: http://codereview.chromium.org/8817012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 09:20:00 +00:00
yangguo@chromium.org
b37ee7bcce
Fixing MathPowHalf on ARM.
...
BUG=v8:397
TEST=regress-397.js
Review URL: http://codereview.chromium.org/8800009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-06 08:28:12 +00:00
danno@chromium.org
5bcb4d30ed
Improve TraceIC logging
...
Explicitly log generic stub transitions and the reason that they are happening.
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8803013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 21:54:45 +00:00
mikhail.naganov@gmail.com
a0c8ea00db
Revert r10158 "Distinguish weak references in heap snapshots, group GC roots."
...
Heap profiler tests fail on Win32, need to investigate.
This reverts commit b5374ebd92c11ac4aae16b4e31e54166d406e490.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 17:21:55 +00:00
yangguo@chromium.org
4c3049b0f7
Fixing MathPowHalf on x64.
...
BUG=v8:397
TEST=regress-397.js
Review URL: http://codereview.chromium.org/8805011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 16:36:13 +00:00
mikhail.naganov@gmail.com
857aa09772
Distinguish weak references in heap snapshots, group GC roots.
...
Several changes to better organize snapshot data:
1. Provide information about weak references.
2. Group (GC roots) children.
3. Prettify debug snapshot printing.
BUG=v8:1832
TEST=cctest/test-heap-profiler/*Weak*
Review URL: http://codereview.chromium.org/8716009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 16:35:57 +00:00
yangguo@chromium.org
1bfa622043
Refactor MathPowHalf on ia32.
...
BUG=v8:397, v8:1848
TEST=regress-397.js
Review URL: http://codereview.chromium.org/8806010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 15:58:25 +00:00
keuchel@chromium.org
08b4262512
Statically check for assignments to const in harmony mode.
...
The ES.next draft rev 4 in section 11.13 reads:
It is a Syntax Error if the AssignmentExpression is contained in extended code
and the LeftHandSideExpression is an Identifier that does not statically resolve
to a declarative environment record binding or if the resolved binding is an
immutable binding.
This CL adds corresponding static checks for the immutable binding case.
TEST=mjsunit/harmony/block-const-assign
Review URL: http://codereview.chromium.org/8688007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 14:43:28 +00:00
mstarzinger@chromium.org
993d650f15
MIPS: updated test .status files based mostly on the ARM version.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8572032
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 11:44:17 +00:00
yangguo@chromium.org
1df183c5ae
Fixing Math.pow(NaN, -0.0) == 1 on Windows.
...
Review URL: http://codereview.chromium.org/8804005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 09:54:15 +00:00
mstarzinger@chromium.org
b45f451a27
Fix special handling of DefineOwnProperty on arrays.
...
According to the ES5 spec the implementation of DefineOwnProperty() has
to special case handling of arrays. This implementation correctly
handles definitions of array index properties and redefinitions of the
length property.
R=svenpanne@chromium.org
BUG=v8:1756
TEST=test262
Review URL: http://codereview.chromium.org/8776045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 09:53:43 +00:00
erik.corry@gmail.com
49a4dd983d
Fix performance on the page cycler, which is not designed to test
...
GC speed.
Review URL: http://codereview.chromium.org/8804004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 08:58:12 +00:00
erik.corry@gmail.com
b8691a78af
Clean up multi byte nop support on x64 to more closely match IA32.
...
Fix missing instruction in disassembler.
Fix wrong disassembly of multi-byte NOP on x64
Add test of disassembler on 64 bit!
Review URL: http://codereview.chromium.org/8773039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 08:58:01 +00:00
yangguo@chromium.org
5ae1ddd786
Fixing windows build.
...
"src\store-buffer.cc(72) : warning C4244: 'initializing' : conversion from 'intptr_t' to 'int', possible loss of data"
Review URL: http://codereview.chromium.org/8804003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-05 07:57:44 +00:00
fschneider@chromium.org
7549b16413
Fix a bug with deoptimization from inside the default-clause of a switch-statement.
...
When generating a string-switch we have to use the correct ast id when
there is a default clause present.
Review URL: http://codereview.chromium.org/8776048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 15:15:23 +00:00
erik.corry@gmail.com
090be8bf15
Reduce minimum memory use on 64 bit to one page per semispace.
...
Review URL: http://codereview.chromium.org/8774045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 14:19:53 +00:00
erik.corry@gmail.com
0d7380da55
Let store buffer start out small for a 1Mbyte saving in boot
...
memory use (2Mbyte on x64).
Review URL: http://codereview.chromium.org/8776032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 14:08:12 +00:00
yangguo@chromium.org
c0e7884752
Temporarily disable regress-397 until fix has been ported to all platforms.
...
Review URL: http://codereview.chromium.org/8775051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 13:42:51 +00:00
danno@chromium.org
de55888842
Fix presubmit error.
...
TBR=sgjesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8770042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 13:23:44 +00:00
yangguo@chromium.org
929c619101
Quickfix for DoMathPowHalf.
...
TEST=regress-397.js
Review URL: http://codereview.chromium.org/8769037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 13:16:49 +00:00
danno@chromium.org
33615c614f
Fix flaky debugger test
...
TBR=sgjesse@chromium.org
BUG=none
TEST=test/cctest/test-debug.cc
Review URL: http://codereview.chromium.org/8773037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 13:05:51 +00:00
danno@chromium.org
25e3d2706d
Optimize Crankshaft array literal initialization from boilerplate.
...
BUG=none
TEST=test/mjsunit/array-literal-transitions.js
Review URL: http://codereview.chromium.org/8747009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 12:42:35 +00:00
erik.corry@gmail.com
ff71466e46
Fix lint
...
Review URL: http://codereview.chromium.org/8773033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 10:05:20 +00:00
erik.corry@gmail.com
701790fd34
Support multi-byte nop instructions as recommended by
...
the optimization guides from AMD and Intel.
Review URL: http://codereview.chromium.org/8776033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 10:01:50 +00:00
yangguo@chromium.org
d5fdb76028
Implement Math.pow using FPU instructions and inline it in crankshaft (ia32).
...
Review URL: http://codereview.chromium.org/8749002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-02 08:06:37 +00:00
fschneider@chromium.org
8f7a1f7808
Revert r10118 from bleeding edge.
...
It causes several test failures which I need to investigate.
Review URL: http://codereview.chromium.org/8769008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 16:57:54 +00:00
danno@chromium.org
540ac179dc
MIPS: Port array literal changes on ARM.
...
Port r10085 (1ef7d5eb2).
This patch also contains a fix for StoreArrayLiteralElementStub::Generate which is only used from this code.
Original commit message:
Includes general array boilerplate copier and re-introduction FAST_ELEMENT optimizations in full-codegen.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8743010
Patch from Daniel Kalmard <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 14:40:13 +00:00
mstarzinger@chromium.org
830f763b07
MIPS: Implement crankshaft support for nested object literals.
...
Port r10061 (c648e1d1)
Original commit message:
This generates optimized code for deep-copying of nested object literal
boilerplates which are statically known. Most of the boilerplates have
already been generated at crankshaft time, so this optimization should
kick in for virtually every object literal. Only nested object literal
graphs up to a certain depth and containing up to a certain total number
of properties are considered for this optimization. This will prevent
explosion of code size due to large object literals (e.g. eval on JSON).
Improves splay performance because object literals are created often.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8745012
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 14:32:26 +00:00
fschneider@chromium.org
8acd4accac
Insert proper padding between lazy deoptimization points and safepoints.
...
On x64 we need 13 bytes for patching the call for lazy deopt. We have to
make sure that patching does not overwrite the code at the safepoint.
BUG=v8:1847
Review URL: http://codereview.chromium.org/8775009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 14:19:34 +00:00
mstarzinger@chromium.org
75a8165950
MIPS: Implement code stub for object literal creation.
...
Port r10056 (ffa6eedd8).
Original commit message:
This just ports r10036 to the ARM codegenerator. Please see the original
revision for a detailed description.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8747011
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 14:12:30 +00:00
erik.corry@gmail.com
0ec9c63e59
Introduce a test of how much memory it takes to boot up V8.
...
Linux only at the moment, since it uses /proc. Shows that
there is room for improvement, espcially on 64 bit.
Review URL: http://codereview.chromium.org/8750001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 12:32:38 +00:00
ulan@chromium.org
fbef117203
Use the old idle notification handler when context is disposed.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8770003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 12:17:19 +00:00
fschneider@chromium.org
4ca20a1d35
Simplify stack check instruction in Crankshaft.
...
So far we had two types of stack checks: one used for function entries
and one used at loop back edges which uses a deferred code object to
avoid spilling of registers in the loop.
After refactoring lazy deoptimization the first stack check can also
use deferred code. This change removes the first type of stack check
instruction in Crankshaft and uses a deferred stack check in all
places.
Review URL: http://codereview.chromium.org/8775002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 09:54:05 +00:00
yangguo@chromium.org
d9dc9104af
MIPS: Add external strings support to regexp in generated code.
...
Port r10070 (4d7e5a8a)
Original commit message:
TEST=test/mjsunit/string-external-cached.js
BUG=
Review URL: http://codereview.chromium.org/8744012
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 08:39:22 +00:00
yangguo@chromium.org
ab924c3d8a
MIPS: Porting r10023 and r10054 to arm (pointer cache for external strings).
...
Port r10059 (c32f98a9)
Original commit message:
BUG=
TEST=
Review URL: http://codereview.chromium.org/8746015
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-01 08:31:09 +00:00