danno@chromium.org
aae81e125b
Add counters that automatically track object sizes and counts.
...
Review URL: https://chromiumcodereview.appspot.com/10702168
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 12:22:09 +00:00
mstarzinger@chromium.org
add296dd43
Factor out a Histogram class from HistogramTimer, and use it to measure external fragmentation
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10695056
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 12:12:09 +00:00
sanjoy@chromium.org
acc4edead2
MIPS: Defer creating Handles for HConstants to the code generation phase.
...
Port r12048 (b4b20305)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10692193
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 12:05:29 +00:00
svenpanne@chromium.org
65e7a14973
Handle setters on the prototype chain efficiently by default.
...
Note that changes on the prototype chain should already be handled by
StubCompiler::CheckPrototypes, if not, it is a bug there and not in
LookupForWrite. Furthermore, neither test262 nor WebKit layout tests hint at a
compability issue, so it should be safe to remove a redundant check.
The good point about this CL: It improves Box2D's performance by 22%.
Review URL: https://chromiumcodereview.appspot.com/10695197
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 09:37:03 +00:00
rossberg@chromium.org
ec042177d7
Incorporate constness into inferred interfaces
...
(in preparation for handling imports).
R=svenpanne@chromium.org
BUG=v8:1569
TEST=
Review URL: https://chromiumcodereview.appspot.com/10698167
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 09:29:43 +00:00
peter.rybin@gmail.com
58c4e6ceb4
Fix Mac build warning (very rightful)
...
Review URL: https://chromiumcodereview.appspot.com/10702201
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 09:23:46 +00:00
verwaest@chromium.org
d51b6826dc
MIPS: Ensure that all descriptors have a valid enumeration index, and replace NextEnumIndex with LastAdded.
...
Port r12042 (ce65764e)
Original commit message:
The LastAdded points to the descriptor that was last added to the array. From the descriptor we can deduce the NextEnumerationIndex. This allows us to quickly find the property that we are transitioning to, which is necessary for transition-intensive code, eg JSON parsing.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10690178
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 09:14:43 +00:00
verwaest@chromium.org
e875306037
MIPS: Swap bitfield3 and backpointer.
...
Port r12034 (f17b84c0)
Original commit message:
Bitfield3 now has its own field, while the backpointer shares the field with the descriptor array; which will become the transition array.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10692192
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 09:13:10 +00:00
peter.rybin@gmail.com
ed371d4881
Don't miss error message in 'restart frame' debug action
...
Review URL: https://chromiumcodereview.appspot.com/10693095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 09:02:03 +00:00
yangguo@chromium.org
45d86e4846
MIPS: Fixed mistake in condition for Nan fixups from snapshot.
...
The commit r11871 caused quiet NaN related errors to
appear on Loongson and Sigma platforms when snapshot
is used. This commit fixes those issues.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10735080
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 07:22:11 +00:00
svenpanne@chromium.org
43e87a65e1
Added Crankshaft support for setters.
...
Refactored ComputeLoadStoreField a bit on the way to clarify a bit what it
actually does.
Review URL: https://chromiumcodereview.appspot.com/10692187
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 07:14:28 +00:00
verwaest@chromium.org
70a618307a
Renamed ConvertDescriptorToFieldAndMapTransition to ConvertTransitionToMapTransition, and let it replace the transition in-place rather than copy the transition array.
...
Review URL: https://chromiumcodereview.appspot.com/10694155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 16:36:10 +00:00
danno@chromium.org
30569cba9b
Revert 12069: Implements a new API to set a function entry hook for profiling
...
Reverted due to waterfall failures
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10704189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:59:50 +00:00
danno@chromium.org
d6edbdd436
Implements a new API to set a function entry hook for profiling.
...
Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.
Review URL: https://chromiumcodereview.appspot.com/10706002
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:42:39 +00:00
sanjoy@chromium.org
2b0f88cc67
Install guards for new invariants required for parallel compilation.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10700185
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:40:05 +00:00
sanjoy@chromium.org
31027880b0
Rename LChunkBase to LChunk, LChunk to LPlatformChunk and remove some unneeded explicit constructor attributes.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10701157
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:29:14 +00:00
verwaest@chromium.org
812bc1db26
Couple the enumeration index of a property to the size of the descriptor array where it first appeared.
...
Review URL: https://chromiumcodereview.appspot.com/10692185
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:14:54 +00:00
verwaest@chromium.org
1068916b9c
When we find an accessor pair as TRANSITION, we are sure it doesn't contain an accessor yet.
...
Review URL: https://chromiumcodereview.appspot.com/10704185
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:10:55 +00:00
sanjoy@chromium.org
c1ee1b457f
Break Crankshaft into phases.
...
Crankshaft now runs by calling CreateGraph on the HGraphBuilder, then
calling Optimize and Codegen on the HGraph.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10700115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:10:34 +00:00
verwaest@chromium.org
1132b27e25
Always return failure when we didn't manage to add transitions.
...
Review URL: https://chromiumcodereview.appspot.com/10704183
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:01:39 +00:00
verwaest@chromium.org
0a41b8c2ed
Splitting DescriptorArray::CopyInsert into CopyInsert, CopyAdd and CopyReplace.
...
Review URL: https://chromiumcodereview.appspot.com/10743003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 13:34:02 +00:00
yangguo@chromium.org
8ce1ebb5cf
Do not enter the debugger when debugger is not active.
...
R=mstarzinger@chromium.org
BUG=
TEST=test-debug/DebuggerCreatesContextIffActive
Review URL: https://chromiumcodereview.appspot.com/10702166
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 11:31:52 +00:00
rossberg@chromium.org
b6a6ef9a95
Prepare push to trunk. Now working on version 3.12.12.
...
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10703164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 11:03:18 +00:00
svenpanne@chromium.org
b8a7abd1fc
Perform HasFastProperties check on prototypes when computing call targets in Crankshaft, part 2.
...
The previous fix was for "real" calls, this one is for getters. It is a bit
unfortunate that this has to be fixed twice: We should really break up
Call::ComputeTarget into a predicate and 1 or 2 getters, so code can be reused.
The regression test has been modified a bit to make things more uniform.
Review URL: https://chromiumcodereview.appspot.com/10702164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 09:32:26 +00:00
sanjoy@chromium.org
e26128ac63
Fix bug in CompilationHandlescope constructor.
...
This will never be triggered in the state v8 is currently in, but will crash v8 when multiple DeferredHandles are queued up during parallel compilation.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10696178
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 07:59:41 +00:00
sanjoy@chromium.org
caef7f1031
Unbreak MSVC build by respecting explicit FmtElm constructor. This is
...
a real bug caught by MSVC but not g++.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10700162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 20:11:04 +00:00
sanjoy@chromium.org
5765fa2546
Defer creating Handles for HConstants to the code generation phase.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10544196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 16:17:02 +00:00
jkummerow@chromium.org
2f43f5e9d7
MIPS: Rename "mips" arch to "mipsel" in the GYP build.
...
In the traditional MIPS naming scheme, "mips" is used for
big-endian mips and "mipsel" is used for little-endian mips.
In V8 the "mips" build is little-endian, so the "mips" target is
renamed to "mipsel" to be compliant with the traditional MIPS
naming scheme.
This change is also required for supporting the Chromium project on MIPS.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10695114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 15:15:04 +00:00
jkummerow@chromium.org
0c4cc038e6
Add missing --allow-natives-syntax flag to test case
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10698152
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 14:45:47 +00:00
sanjoy@chromium.org
951b64d55f
Remove duplicated LChunk code.
...
Divide the LChunk class into an arch-independent LChunkBase and an
arch-dependent LChunk which inherits from LChunkBase.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10701141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 14:42:17 +00:00
verwaest@chromium.org
ef701cb7ba
Refactor copying of maps and descriptor arrays.
...
Mainly ensure we don't copy descriptor arrays we'll throw away immediately afterwards.
Review URL: https://chromiumcodereview.appspot.com/10700160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 14:29:16 +00:00
jkummerow@chromium.org
432576b7c8
Perform HasFastProperties check on prototypes when computing call targets in Crankshaft.
...
BUG=125148
TEST=mjsunit/regress/regress-crbug-125148
Review URL: https://chromiumcodereview.appspot.com/10735054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 14:27:53 +00:00
verwaest@chromium.org
b008d99b11
Ensure that all descriptors have a valid enumeration index, and replace NextEnumIndex with LastAdded.
...
The LastAdded points to the descriptor that was last added to the array. From the descriptor we can deduce the NextEnumerationIndex. This allows us to quickly find the property that we are transitioning to, which is necessary for transition-intensive code, eg JSON parsing.
Review URL: https://chromiumcodereview.appspot.com/10695120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 14:26:42 +00:00
rossberg@chromium.org
dcf83a2114
Turn off es5_readonly again: still causes ~370 WebKit regressions.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10693145
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 14:09:42 +00:00
yangguo@chromium.org
2a819667c1
Do not use user-defined __lookupGetter__ when generating stack trace.
...
BUG=v8:1591
TEST=regress-1591.js
Review URL: https://chromiumcodereview.appspot.com/10736030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 11:35:19 +00:00
danno@chromium.org
5b2a27aad4
Fix compile errors in Visual C++ 2008.
...
R=danno@chromium.org
BUG=None
TEST=ARM compiles on VC 2008.
Review URL: https://chromiumcodereview.appspot.com/10690111
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 10:08:56 +00:00
rossberg@chromium.org
2ce9624d89
Turn on es5[2] features by default.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10689156
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 09:39:44 +00:00
svenpanne@chromium.org
b3422df4ca
Re-land "Removed one copy-n-paste clone of HGraphBuilder::BuildStoreNamed."
...
The previous CL used the wrong map in some cases, leading to a wrong decision
regarding monomorphic usage and therefore some performance regressions.
Review URL: https://chromiumcodereview.appspot.com/10694129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 07:59:58 +00:00
yangguo@chromium.org
b2f1c41218
Sync preparser and parser wrt syntax error in switch..case.
...
R=jkummerow@chromium.org
BUG=v8:2210
TEST=test-parsing/ParserSync
Review URL: https://chromiumcodereview.appspot.com/10701116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 07:47:29 +00:00
danno@chromium.org
299a0ab1d5
Port r11344 (Try aligning unboxed double array backing store in allocation or
...
scavenge promotion.) to ARM.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10696097
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 13:33:19 +00:00
verwaest@chromium.org
45419ee145
Swap bitfield3 and backpointer.
...
Bitfield3 now has its own field, while the backpointer shares the field with the descriptor array; which will become the transition array.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10692130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 13:31:36 +00:00
danno@chromium.org
1c62d72a3c
Update .gitignore for Windows/Visual Studio/GYP.
...
BUG=None
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10701115
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 12:58:42 +00:00
mstarzinger@chromium.org
97cbaec08a
Add OS::GetCurrentProcessId and prepend output from trace-gc with the current pid
...
BUG=none
TEST=manual
Review URL: https://chromiumcodereview.appspot.com/9817002
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 12:52:36 +00:00
yangguo@chromium.org
5aacb93168
Correctly report octal literals in strict mode when preparsing.
...
SingletonLogger::LogMessage did not work as advertised and
overwrote existing message.
R=mstarzinger@chromium.org
BUG=v8:2220
TEST=test-parsing/PreparserStrictOctal
Review URL: https://chromiumcodereview.appspot.com/10689134
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 12:24:17 +00:00
mstarzinger@chromium.org
09bfdabd2a
Fix inline constructors for Harmony Proxy prototypes.
...
R=rossberg@chromium.org
BUG=v8:2225
TEST=mjsunit/regress/regress-2225
Review URL: https://chromiumcodereview.appspot.com/10736009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 11:28:33 +00:00
danno@chromium.org
e9b5119903
Prepare push to trunk. Now working on version 3.12.11.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10693126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 11:23:46 +00:00
mstarzinger@chromium.org
9ecff25a79
Output the correct line number in the error message for compilation failures during bootstrapping
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10735024
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 11:04:38 +00:00
mmassi@chromium.org
c74871f37b
Fixed array bounds check elimination (Chromium issue 132114).
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10698125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 11:01:29 +00:00
verwaest@chromium.org
1007696cdb
After transitioning to constant function, return the constant function as result of the assignment.
...
BUG=v8:2226
TEST=test/mjsunit/regress/regress-2226.js
Review URL: https://chromiumcodereview.appspot.com/10700137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 09:31:30 +00:00
svenpanne@chromium.org
5b69228e56
Revert "Removed one copy-n-paste clone of HGraphBuilder::BuildStoreNamed."
...
It inadvertently introduced some performance regressions, e.g. for the
'richards' benchmark.
Review URL: https://chromiumcodereview.appspot.com/10704127
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 09:15:03 +00:00