jkummerow@chromium.org [Mon, 16 Jul 2012 11:24:55 +0000 (11:24 +0000)]
Prepare push to trunk. Now working on version 3.12.13.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10779009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 16 Jul 2012 11:00:44 +0000 (11:00 +0000)]
Add an option to the tickprocessor to specify the directory for lib lookup
This is usefull when generating a profile on one architecture and analyzing it
on another architecture or system version.
Review URL: https://chromiumcodereview.appspot.com/
10704128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 16 Jul 2012 09:53:32 +0000 (09:53 +0000)]
Fix ICs for slow objects with native accessor.
This prevents creation of LoadICs or StoreICs for native callbacks on
objects in dictionary mode. Those ICs fail if the accessor is installed
on the receiver itself and also lead to bogus type feedback.
R=danno@chromium.org
BUG=chromium:137002
TEST=test/test-api/Regress137002[a,b]
Review URL: https://chromiumcodereview.appspot.com/
10781011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 16 Jul 2012 09:49:00 +0000 (09:49 +0000)]
Make it clear that HInstruction's position is a write-once variable.
Review URL: https://chromiumcodereview.appspot.com/
10782010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 16 Jul 2012 09:44:59 +0000 (09:44 +0000)]
Fix transcendental cache on ARM in optimized code.
R=jkummerow@chromium.org
BUG=v8:2234
TEST=regress-2234.js
Review URL: https://chromiumcodereview.appspot.com/
10695205
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 16 Jul 2012 09:39:52 +0000 (09:39 +0000)]
Fix Win64 build breakage in r12082.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10704224
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 13 Jul 2012 16:33:27 +0000 (16:33 +0000)]
Revert 12083: Implements a new API to set a function entry hook for profiling.
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10695206
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 13 Jul 2012 16:18:37 +0000 (16:18 +0000)]
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.
Committed: https://code.google.com/p/v8/source/detail?r=12069
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@12083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 13 Jul 2012 12:22:09 +0000 (12:22 +0000)]
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
mstarzinger@chromium.org [Fri, 13 Jul 2012 12:12:09 +0000 (12:12 +0000)]
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
sanjoy@chromium.org [Fri, 13 Jul 2012 12:05:29 +0000 (12:05 +0000)]
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
svenpanne@chromium.org [Fri, 13 Jul 2012 09:37:03 +0000 (09:37 +0000)]
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
rossberg@chromium.org [Fri, 13 Jul 2012 09:29:43 +0000 (09:29 +0000)]
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
peter.rybin@gmail.com [Fri, 13 Jul 2012 09:23:46 +0000 (09:23 +0000)]
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
verwaest@chromium.org [Fri, 13 Jul 2012 09:14:43 +0000 (09:14 +0000)]
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
verwaest@chromium.org [Fri, 13 Jul 2012 09:13:10 +0000 (09:13 +0000)]
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
peter.rybin@gmail.com [Fri, 13 Jul 2012 09:02:03 +0000 (09:02 +0000)]
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
yangguo@chromium.org [Fri, 13 Jul 2012 07:22:11 +0000 (07:22 +0000)]
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
svenpanne@chromium.org [Fri, 13 Jul 2012 07:14:28 +0000 (07:14 +0000)]
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
verwaest@chromium.org [Thu, 12 Jul 2012 16:36:10 +0000 (16:36 +0000)]
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
danno@chromium.org [Thu, 12 Jul 2012 15:59:50 +0000 (15:59 +0000)]
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
danno@chromium.org [Thu, 12 Jul 2012 15:42:39 +0000 (15:42 +0000)]
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
sanjoy@chromium.org [Thu, 12 Jul 2012 15:40:05 +0000 (15:40 +0000)]
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
sanjoy@chromium.org [Thu, 12 Jul 2012 15:29:14 +0000 (15:29 +0000)]
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
verwaest@chromium.org [Thu, 12 Jul 2012 15:14:54 +0000 (15:14 +0000)]
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
verwaest@chromium.org [Thu, 12 Jul 2012 15:10:55 +0000 (15:10 +0000)]
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
sanjoy@chromium.org [Thu, 12 Jul 2012 15:10:34 +0000 (15:10 +0000)]
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
verwaest@chromium.org [Thu, 12 Jul 2012 15:01:39 +0000 (15:01 +0000)]
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
verwaest@chromium.org [Thu, 12 Jul 2012 13:34:02 +0000 (13:34 +0000)]
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
yangguo@chromium.org [Thu, 12 Jul 2012 11:31:52 +0000 (11:31 +0000)]
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
rossberg@chromium.org [Thu, 12 Jul 2012 11:03:18 +0000 (11:03 +0000)]
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
svenpanne@chromium.org [Thu, 12 Jul 2012 09:32:26 +0000 (09:32 +0000)]
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
sanjoy@chromium.org [Thu, 12 Jul 2012 07:59:41 +0000 (07:59 +0000)]
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
sanjoy@chromium.org [Wed, 11 Jul 2012 20:11:04 +0000 (20:11 +0000)]
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
sanjoy@chromium.org [Wed, 11 Jul 2012 16:17:02 +0000 (16:17 +0000)]
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
jkummerow@chromium.org [Wed, 11 Jul 2012 15:15:04 +0000 (15:15 +0000)]
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
jkummerow@chromium.org [Wed, 11 Jul 2012 14:45:47 +0000 (14:45 +0000)]
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
sanjoy@chromium.org [Wed, 11 Jul 2012 14:42:17 +0000 (14:42 +0000)]
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
verwaest@chromium.org [Wed, 11 Jul 2012 14:29:16 +0000 (14:29 +0000)]
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
jkummerow@chromium.org [Wed, 11 Jul 2012 14:27:53 +0000 (14:27 +0000)]
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
verwaest@chromium.org [Wed, 11 Jul 2012 14:26:42 +0000 (14:26 +0000)]
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
rossberg@chromium.org [Wed, 11 Jul 2012 14:09:42 +0000 (14:09 +0000)]
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
yangguo@chromium.org [Wed, 11 Jul 2012 11:35:19 +0000 (11:35 +0000)]
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
danno@chromium.org [Wed, 11 Jul 2012 10:08:56 +0000 (10:08 +0000)]
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
rossberg@chromium.org [Wed, 11 Jul 2012 09:39:44 +0000 (09:39 +0000)]
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
svenpanne@chromium.org [Wed, 11 Jul 2012 07:59:58 +0000 (07:59 +0000)]
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
yangguo@chromium.org [Wed, 11 Jul 2012 07:47:29 +0000 (07:47 +0000)]
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
danno@chromium.org [Tue, 10 Jul 2012 13:33:19 +0000 (13:33 +0000)]
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
verwaest@chromium.org [Tue, 10 Jul 2012 13:31:36 +0000 (13:31 +0000)]
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
danno@chromium.org [Tue, 10 Jul 2012 12:58:42 +0000 (12:58 +0000)]
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
mstarzinger@chromium.org [Tue, 10 Jul 2012 12:52:36 +0000 (12:52 +0000)]
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
yangguo@chromium.org [Tue, 10 Jul 2012 12:24:17 +0000 (12:24 +0000)]
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
mstarzinger@chromium.org [Tue, 10 Jul 2012 11:28:33 +0000 (11:28 +0000)]
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
danno@chromium.org [Tue, 10 Jul 2012 11:23:46 +0000 (11:23 +0000)]
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
mstarzinger@chromium.org [Tue, 10 Jul 2012 11:04:38 +0000 (11:04 +0000)]
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
mmassi@chromium.org [Tue, 10 Jul 2012 11:01:29 +0000 (11:01 +0000)]
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
verwaest@chromium.org [Tue, 10 Jul 2012 09:31:30 +0000 (09:31 +0000)]
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
svenpanne@chromium.org [Tue, 10 Jul 2012 09:15:03 +0000 (09:15 +0000)]
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
verwaest@chromium.org [Tue, 10 Jul 2012 07:53:00 +0000 (07:53 +0000)]
Moving prototype transitions into the header of the transition array.
Review URL: https://chromiumcodereview.appspot.com/
10692026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 9 Jul 2012 16:31:49 +0000 (16:31 +0000)]
Fix types.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10748002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 9 Jul 2012 16:22:53 +0000 (16:22 +0000)]
Silence more warnings.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10746002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 9 Jul 2012 15:18:08 +0000 (15:18 +0000)]
Fix Debug::Break crash.
BUG=131642
TEST=test-debug/Regress131642
Review URL: https://chromiumcodereview.appspot.com/
10698123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Jul 2012 13:59:28 +0000 (13:59 +0000)]
Removed one copy-n-paste clone of HGraphBuilder::BuildStoreNamed.
Review URL: https://chromiumcodereview.appspot.com/
10689129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 9 Jul 2012 13:54:29 +0000 (13:54 +0000)]
Silence warnings.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10692131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Mon, 9 Jul 2012 13:25:29 +0000 (13:25 +0000)]
Disable array bounds check removal.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10703115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Mon, 9 Jul 2012 12:06:07 +0000 (12:06 +0000)]
Restored removed flag.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Mon, 9 Jul 2012 12:05:58 +0000 (12:05 +0000)]
Re-enable array bounds check elimination.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Jul 2012 11:33:53 +0000 (11:33 +0000)]
Added Crankshaft support for JavaScript getters.
Instead of calling the getter via a stub, we now call it more directly via a
(guarded) CallConstantFunction instruction.
Review URL: https://chromiumcodereview.appspot.com/
10735023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Jul 2012 10:46:17 +0000 (10:46 +0000)]
Improved printing of CheckPrototypeMaps instruction.
Review URL: https://chromiumcodereview.appspot.com/
10696139
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12012
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Jul 2012 10:28:56 +0000 (10:28 +0000)]
Fixed CompareIC::GetStateName.
Review URL: https://chromiumcodereview.appspot.com/
10692126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 9 Jul 2012 08:59:03 +0000 (08:59 +0000)]
Implement proper module linking.
Specifically:
- In parser, check that all exports are defined.
- Move JSModule allocation from parser to scope resolution.
- Move JSModule linking from full codegen to scope resolution.
- Implement module accessors for exported value members.
- Allocate module contexts statically along with JSModules
(to allow static linking), but chain them when module literal is evaluated.
- Make module contexts' extension slot refer to resp. JSModule
(makes modules' ScopeInfo accessible from context).
- Some other tweaks to context handling in general.
- Make any code containing module literals (and thus embedding
static references to JSModules) non-cacheable.
This enables accessing module instance objects as expected.
Import declarations are a separate feature and do not work yet.
R=mstarzinger@chromium.org
BUG=v8:1569
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10690043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 9 Jul 2012 08:26:17 +0000 (08:26 +0000)]
Fix wrong iteration variable in test/preparser/strict-identifiers.pyt
R=mstarzinger@chromium.org
TEST=preparser/strict-identifiers
Review URL: https://chromiumcodereview.appspot.com/
10693116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 6 Jul 2012 22:08:27 +0000 (22:08 +0000)]
Make room in Code flags to support compiled stubs.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10701106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 6 Jul 2012 16:20:57 +0000 (16:20 +0000)]
Prepare push to trunk. Now working on version 3.12.10.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10693113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 6 Jul 2012 16:03:18 +0000 (16:03 +0000)]
Fix missing handle scope in recent r12001.
R=yangguo@chromium.org
BUG=v8:2219
TEST=webkit:fast/dom/inline-event-attributes-release.html
Review URL: https://chromiumcodereview.appspot.com/
10701108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Fri, 6 Jul 2012 14:09:11 +0000 (14:09 +0000)]
Fix bug in compilation-handlescope.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10696125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 6 Jul 2012 14:04:15 +0000 (14:04 +0000)]
Correctly advance the scanner when scanning unicode regexp flag.
R=rossberg@chromium.org
BUG=136084
TEST=regress-136084.js
Review URL: https://chromiumcodereview.appspot.com/
10703106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 6 Jul 2012 11:34:22 +0000 (11:34 +0000)]
Fix unhandlified code calling Harmony Proxy traps.
R=rossberg@chromium.org
BUG=v8:2219
TEST=mjsunit/regress/regress-2219
Review URL: https://chromiumcodereview.appspot.com/
10703103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 6 Jul 2012 10:02:15 +0000 (10:02 +0000)]
Also in ClearNonLiveTransitions we have to check if there still is a transition array before we access it.
This should never happen in the long run, but will happen when maps still have a back-pointer while the forward pointer (the transition) was overwritten.
Review URL: https://chromiumcodereview.appspot.com/
10704109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 6 Jul 2012 09:34:59 +0000 (09:34 +0000)]
Put additional information onto the stack when crashing in Debug::Break.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10698116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Fri, 6 Jul 2012 09:31:31 +0000 (09:31 +0000)]
Add a second kind of HandleScope that ties the lifetime of Handles created in its scope to the lifetime of a given CompilationInfo.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10697094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 6 Jul 2012 08:34:48 +0000 (08:34 +0000)]
Slightly generalize AddCheckConstantFunction.
This is needed for crankshafted accessors, which are syntactically not a Call.
Review URL: https://chromiumcodereview.appspot.com/
10702109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 6 Jul 2012 08:11:10 +0000 (08:11 +0000)]
Added LookupResult::GetValueFromMap.
This is needed later for crankshafted accessors and reduces copy-n-paste a bit.
Review URL: https://chromiumcodereview.appspot.com/
10702108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Jul 2012 16:23:14 +0000 (16:23 +0000)]
Fix compilation when disabling debugger support.
Based on a patch by Remi Duraffort <remi.duraffort@st.com>: http://codereview.chromium.org/
10702093/
R=mstarzinger@chromium.org
BUG=
TEST=build with debuggersupport=off
Review URL: https://chromiumcodereview.appspot.com/
10697085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 5 Jul 2012 13:54:20 +0000 (13:54 +0000)]
Separating transitions from descriptors.
In this design maps contain descriptor arrays, which in turn can contain transition arrays. If transitions are needed when no descriptor array is present, a descriptor array without real descriptors is inserted just so it can point at the transition array.
The transition array does not contain details about the field it transitions to. In order to weed out transitions to FIELDs from CONSTANT_FUNCTION (what used to be MAP_TRANSITION vs CONSTANT_TRANSITION), the transition needs to be followed and the details need to be looked up in the target map. CALLBACKS transitions are still easy to recognize since the transition targets are stored as an AccessorPair containing the maps, rather than the maps directly.
Currently AccessorPairs containing a transition and an accessor are shared between the descriptor array and the transition array. This simplifies lookup since we only have to look in one of both arrays. This will change in subsequent revisions, when descriptor arrays will become shared between multiple maps, since transitions cannot be shared.
Review URL: https://chromiumcodereview.appspot.com/
10697015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 5 Jul 2012 13:40:51 +0000 (13:40 +0000)]
Fix timout of packed-elements.js on ARM
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10703093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 5 Jul 2012 13:13:33 +0000 (13:13 +0000)]
Removed superfluous cast.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10696119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Thu, 5 Jul 2012 13:11:57 +0000 (13:11 +0000)]
Remove some duplicated logic from compiler.cc.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10701060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 5 Jul 2012 12:44:44 +0000 (12:44 +0000)]
Cleanup Test262 expectations for simulators.
R=jkummerow@chromium.org
TEST=test262
Review URL: https://chromiumcodereview.appspot.com/
10690090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11990
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 5 Jul 2012 08:21:28 +0000 (08:21 +0000)]
Prepare push to trunk. Now working on version 3.12.9.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10702099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Jul 2012 08:07:01 +0000 (08:07 +0000)]
Larger stack trace string in the minidump when catching Debug::Break crash.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10698103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 5 Jul 2012 07:33:01 +0000 (07:33 +0000)]
Remove $FAST variable from mozilla.status. It was never set to true anyway.
Review URL: https://chromiumcodereview.appspot.com/
10694083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 4 Jul 2012 11:40:51 +0000 (11:40 +0000)]
Handle accessors on the prototype chain in StoreICs.
Made stub compiler function signatures a bit more consistent on the way.
Review URL: https://chromiumcodereview.appspot.com/
10735003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 3 Jul 2012 13:44:36 +0000 (13:44 +0000)]
Implement typedarray.set and arraybuffer.slice for d8.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10694051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 3 Jul 2012 13:01:31 +0000 (13:01 +0000)]
Move quadratic behavior of Context's optimized function list verification behind --enable-slow-asserts flag
BUG=webkit:90003
TEST=the following takes only about 1 second in debug mode: var a=[1,2,3,4,5]; eval("for (var i=0;i<50000;i++) a.sort(function(){return 1;});");
Review URL: https://chromiumcodereview.appspot.com/
10704078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11982
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 3 Jul 2012 11:56:30 +0000 (11:56 +0000)]
Add function to grokdump shell to print ASCII string.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10697067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Tue, 3 Jul 2012 10:42:03 +0000 (10:42 +0000)]
Don't actually create Handles for the constant hole, the true value and the false value. This is required to have some parts of Crankshaft run without creating Handles.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10699052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11980
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Jul 2012 09:59:55 +0000 (09:59 +0000)]
Prepare push to trunk. Now working on version 3.12.8.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10695078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Jul 2012 08:41:13 +0000 (08:41 +0000)]
Fix lazy compilation for strict eval scopes.
This prevents lazy compilation of functions that have an outer context
containing a strict eval scope. Such a scope potentially contains
context allocated variables in an artificial function scope that is not
deserialized correctly.
R=ulan@chromium.org
BUG=chromium:135066
TEST=mjsunit/regress/regress-crbug-135066
Review URL: https://chromiumcodereview.appspot.com/
10704058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 3 Jul 2012 07:45:58 +0000 (07:45 +0000)]
Add Makefile targets for running tests on Android.
This allows to run tests on the attached Android device using
> make android.check
> make android.debug.check
> make android.release.check
> ANDROID_V8=/data/local/v8 TESTJOBS=-j4 make android.release.check -j10
Tests and binaries are copied to device location specified by the ANDROID_V8
variable and then tests are executed using the 'adb shell' program.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10696048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00