jkummerow@chromium.org [Thu, 6 Mar 2014 17:42:58 +0000 (17:42 +0000)]
Prepare push to trunk. Now working on version 3.25.6.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
186593005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19695
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 6 Mar 2014 16:22:47 +0000 (16:22 +0000)]
Fix for failing asserts in HBoundsCheck code generation on x64: use proper cmp operation width instead of asserting that Integer32 values should be zero extended. Similar to chromium:345820.
BUG=349465
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
188703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19694
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 6 Mar 2014 16:21:09 +0000 (16:21 +0000)]
Fix HConstants with Smi-ranged HeapNumber values
BUG=chromium:349878
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
186123003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19693
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 6 Mar 2014 14:15:40 +0000 (14:15 +0000)]
Mark mjsunit/whitespaces as slow and timeout for a64.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
182253008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19692
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 6 Mar 2014 13:07:51 +0000 (13:07 +0000)]
Bugfix for 349874: we incorrectly believe we saw a growing store
When we set an out of bounds array index, the index might be so large that
it causes the array to go to dictionary mode. It's better to avoid
"learning" that this was a growing store in that case.
This fix also partially reverts a fix for bug 347543, as this fix is
comprehensive and satisfies that repro case as well (partial revert of
v19591).
BUG=349874
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
188643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19691
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 6 Mar 2014 12:19:06 +0000 (12:19 +0000)]
Only use the non-strict-arguments-stub if the store site is non-strict.
BUG=349874
LOG=N
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
176843018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19690
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 6 Mar 2014 12:13:49 +0000 (12:13 +0000)]
Let HTransitionElementsKind take part in RestoreActualValues phase
BUG=chromium:349853
LOG=n
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
183753005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19689
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 6 Mar 2014 11:55:47 +0000 (11:55 +0000)]
Fix VPrintHelper used on Windows.
VPrintHelper would silently ignore the stream given to it if application is in GUI mode (no console is attached) and redirect output to the debugger via OutputDebugString.
Such redirection makes sense only if passed stream is either stderr or stdout. Don't redirect any other stream to the debugger.
Reorder clauses in VPrintHelper to make condition more readable.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
177413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 6 Mar 2014 11:51:53 +0000 (11:51 +0000)]
Remove outdated assertion scope.
R=jkummerow@chromium.org
BUG=349870
LOG=N
Review URL: https://codereview.chromium.org/
182003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19687
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 6 Mar 2014 10:05:33 +0000 (10:05 +0000)]
Add quickcheck targets for modes, builds and arches.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
181013014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19686
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 6 Mar 2014 09:50:53 +0000 (09:50 +0000)]
Fix issues with JSON stringify replacer array
If the replacer array contains a property key we should include the
property even if the property is non enumerable or if it is a non own
property.
String and Number wrappers in the replacer array should be treated as
string and number values.
R=yangguo@chromium.org
BUG=v8:3200, v8:3201
LOG=Y
Review URL: https://codereview.chromium.org/
187053003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19685
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 6 Mar 2014 09:49:10 +0000 (09:49 +0000)]
Use Representation::Integer32() for smi types on 32-bit-tagged systems.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
187353005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19684
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 6 Mar 2014 09:47:27 +0000 (09:47 +0000)]
Also delete force representations that have no uses.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
187773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19683
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 5 Mar 2014 15:10:32 +0000 (15:10 +0000)]
Prepare push to trunk. Now working on version 3.25.5.
R=hpayer@chromium.org
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
187833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19679
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 5 Mar 2014 14:04:21 +0000 (14:04 +0000)]
Ignore slots buffer overflow when recording entries of the allocation sites scratchpad.
BUG=
R=mstarzinger@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
181063033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 5 Mar 2014 12:57:18 +0000 (12:57 +0000)]
Fix materialization of captured objects in adapted arguments.
R=mstarzinger@chromium.org
BUG=348512
LOG=N
Review URL: https://codereview.chromium.org/
183063006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19676
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 5 Mar 2014 12:45:46 +0000 (12:45 +0000)]
Deoptimization fix for HPushArgument.
HPushArgument should never be used in a simulation environment
because the slot addresses for the arguments can be off (e.g.,
due to on-stack arguments object of an inlined caller).
R=mstarzinger@chromium.org
BUG=v8:3183
LOG=N
Review URL: https://codereview.chromium.org/
178193026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19675
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Mar 2014 10:54:35 +0000 (10:54 +0000)]
Handle exception when retrieving toJSON function in JSON.stringify.
R=mvstanton@chromium.org
BUG=349335
LOG=N
Review URL: https://codereview.chromium.org/
187603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19670
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 5 Mar 2014 10:07:07 +0000 (10:07 +0000)]
Add --es-staging flag
...and remove some obsolete ones.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
165723008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19669
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Mar 2014 09:49:07 +0000 (09:49 +0000)]
x64: Fix LMathMinMax for constant Smi right-hand operands
BUG=chromium:349079
LOG=y
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
186593003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 5 Mar 2014 09:28:26 +0000 (09:28 +0000)]
Print properly signed displacement in disassembler.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
178193028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19667
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 5 Mar 2014 08:58:38 +0000 (08:58 +0000)]
Fix issue with setting __proto__ on a value
LOG=N
BUG=v8:3172
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
174113003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19666
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 4 Mar 2014 23:27:27 +0000 (23:27 +0000)]
Refactoring: Make script dependencies more object-oriented in push and merge scripts.
- Connect the top-level scripts via inheritance and remove top-level functions
- Options and option processing can be extended from base to subclass script
This CL is split off from https://codereview.chromium.org/
173983002/
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
185263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19664
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 4 Mar 2014 20:22:56 +0000 (20:22 +0000)]
MIPS: Remove all uses of field-tracking flags that do not make decisions but are subject to existing information.
Port r19650 (a51b043)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
180803010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19663
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 4 Mar 2014 20:16:24 +0000 (20:16 +0000)]
MIPS: Push safepoint registers in deferred number-to-i/u only on-demand.
Port r19649 (49f8c2d)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
186673004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19662
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Tue, 4 Mar 2014 15:54:12 +0000 (15:54 +0000)]
A64: Move veneer emission checking in the Assembler.
The previous heuristic would break as a significant amount of code could be
generated without checking for veneer emission.
The veneer emission is now done in the Assembler, in a very similar way to
constant pool emission.
BUG=v8:3177
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
181873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19661
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Mar 2014 13:07:00 +0000 (13:07 +0000)]
Print properly signed displacement in IA32 disassembler.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
176993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19652
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 4 Mar 2014 12:51:40 +0000 (12:51 +0000)]
Refactoring to clean up duplicate code in Heap::Allocate methods.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
170703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19651
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Mar 2014 12:48:17 +0000 (12:48 +0000)]
Remove all uses of field-tracking flags that do not make decisions but are subject to existing information.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
173963002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19650
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 4 Mar 2014 12:45:00 +0000 (12:45 +0000)]
Push safepoint registers in deferred number-to-i/u only on-demand.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
181053005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19649
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Mar 2014 12:43:05 +0000 (12:43 +0000)]
Allow objects with "" properties to stay fast.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
184453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19648
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 4 Mar 2014 12:42:43 +0000 (12:42 +0000)]
Don't disable hash randomization option in predictable mode.
We don't need it because
1) hash randomization uses random generator whose results depend on --random-seed option which is set in predictable mode.
2) disabling hash randomization triggers assert in snapshot mode.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
171813015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19647
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 4 Mar 2014 12:34:04 +0000 (12:34 +0000)]
Fix HStringAdd::PrintDataTo().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
185403005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19646
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 4 Mar 2014 09:05:48 +0000 (09:05 +0000)]
Prepare push to trunk. Now working on version 3.25.4.
R=hpayer@chromium.org
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
185533011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19643
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Mar 2014 08:08:08 +0000 (08:08 +0000)]
Fix HCheckValue::Canonicalize wrt uninitialized HConstant unique.
R=titzer@chromium.org
BUG=348280
LOG=N
Review URL: https://codereview.chromium.org/
183383006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 4 Mar 2014 01:29:27 +0000 (01:29 +0000)]
Add try server configuration for 'git cl try'.
BUG=
R=phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/
177533029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19641
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Mar 2014 20:17:03 +0000 (20:17 +0000)]
Add coverage analysis to push and merge script tests.
The coverage analysis must live in an extra file in order to analyze the scripts when being imported.
TEST=tools/push-to-trunk/script_test.py
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
183923013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19640
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 3 Mar 2014 13:27:59 +0000 (13:27 +0000)]
Consolidate RecordWriteFromCode and RecordWriteForEvacuationFromCode.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
185233008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19639
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 3 Mar 2014 13:12:31 +0000 (13:12 +0000)]
Make EvictFromOptimizedCodeMap more robust.
This removes all occurences of the specified optimized code from the optimized
code map.
R=titzer@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
181493004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19638
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 3 Mar 2014 11:44:14 +0000 (11:44 +0000)]
Fix A64 after 19635.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
184103013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19637
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 3 Mar 2014 11:41:24 +0000 (11:41 +0000)]
Fix symbol printing in migration / generalization tracing
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
176713006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19636
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 3 Mar 2014 11:11:39 +0000 (11:11 +0000)]
Clear optimized code cache in shared function info when code gets deoptimized.
This adds a pointer to the shared function info into deoptimization data of an optimized code. Whenever the code is deoptimized, it clears the cache in the shared function info.
This fixes the problem when the optimized function dies in new space GC before the code is deoptimized due to code dependency and before the optimized code cache is cleared in old space GC (see mjsunit/regress/regress-343609.js).
This partially reverts r19603 because we need to be able to evict specific code from the optimized code cache.
BUG=343609
LOG=Y
TEST=mjsunit/regress/regress-343609.js
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
184923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19635
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 28 Feb 2014 21:49:51 +0000 (21:49 +0000)]
Refactoring: Long option names in push and merge scripts.
This CL is split off from https://codereview.chromium.org/
173983002/
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
180873010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19632
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
commit-bot@chromium.org [Fri, 28 Feb 2014 19:48:29 +0000 (19:48 +0000)]
Fix ChangeLog entries.
NOTREECHECKS=true
BUG=
Review URL: https://codereview.chromium.org/
179873021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19629
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
commit-bot@chromium.org [Fri, 28 Feb 2014 19:45:28 +0000 (19:45 +0000)]
Fix line distance in push and merge scripts.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19628
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 28 Feb 2014 14:26:32 +0000 (14:26 +0000)]
Move all Harmony-only tests to harmony/
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
178583005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19622
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Feb 2014 14:16:50 +0000 (14:16 +0000)]
Update README about where the test262 files are downloaded from.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
184573003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19620
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 28 Feb 2014 14:16:38 +0000 (14:16 +0000)]
Check elimination did not mark some dead blocks.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
180483003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19619
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 28 Feb 2014 14:09:52 +0000 (14:09 +0000)]
Revert "Remove Script::SetData and the script_data parameter from Script::(Compile|New)."
This reverts revision 19616.
BUG=
TBR=marja@chromium.org,svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
181113008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19618
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Feb 2014 14:08:39 +0000 (14:08 +0000)]
Fix ARM/MIPS versions of r19607
kNoCodeAgeSequenceLength is in bytes on ia32/x64, but in instructions on arm/mips.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
183893006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19617
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 28 Feb 2014 13:54:14 +0000 (13:54 +0000)]
Remove Script::SetData and the script_data parameter from Script::(Compile|New).
This feature makes it possible to associate data with a script and get it back
when the script is compiled or when an event is handled. It was historically
used by Chromium Dev Tools, but not any more. It is not used by node.js.
Note: this has nothing to do with the preparse data, despite the confusing name.
The preparse data is passed as ScriptData*.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
184403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19616
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Feb 2014 13:16:26 +0000 (13:16 +0000)]
Remove bogus assertion regarding code marked for deopt.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
178583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19610
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 28 Feb 2014 13:07:10 +0000 (13:07 +0000)]
Fixed constant folding for Math.clz32.
LOG=y
BUG=347906
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
184353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19609
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Feb 2014 12:46:13 +0000 (12:46 +0000)]
Make a64.release a quickcheck target
I marked all tests as slow that take more than a minute on my machine.
With this, a64.release.quickcheck takes two minutes which is about as
fast as arm.optdebug.quickcheck.
BUG=none
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
183763008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19608
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Feb 2014 12:41:25 +0000 (12:41 +0000)]
Fail early when re-entering code that has been patched for lazy deopt
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
184373004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19607
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Feb 2014 12:34:12 +0000 (12:34 +0000)]
Update test262 to get test data from github
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
184223002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19606
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Feb 2014 12:32:54 +0000 (12:32 +0000)]
When upgrading the test data twice, don't bail out because of an existing backup
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
183853004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19605
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 28 Feb 2014 12:29:19 +0000 (12:29 +0000)]
A JSArray may have a filler map in the elements pointer.
We already have code that expects this, but incorrectly asserted that the
filler map case would never happen when allocation folding is turned on.
However, even folding has it's limits, bailing out of continued folding
when the object size grows too large. Therefore, it's a general problem
when verifying JSArray objects, that we might encounter a filler map
in elements().
Discovered by ClusterFuzz crbug 347903.
R=hpayer@chromium.org
LOG=N
BUG=347903
Review URL: https://codereview.chromium.org/
184493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Feb 2014 12:27:31 +0000 (12:27 +0000)]
Evict from optimized code map in sync with removing from optimized functions list.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
184443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19603
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 28 Feb 2014 12:08:17 +0000 (12:08 +0000)]
parser: fix build on solaris
`FS` is defined in `regset.h` on solaris and smartos.
BUG=
R=ulan@chromium.org, danno@chromium.org
Review URL: https://codereview.chromium.org/
176403004
Patch from Fedor Indutny <fedor.indutny@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19602
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 28 Feb 2014 11:41:07 +0000 (11:41 +0000)]
Fix JSObject::PrintTransitions.
BUG=347912
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
183683005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19601
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 28 Feb 2014 11:07:10 +0000 (11:07 +0000)]
Fix representation generalization for doubles.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
184393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19599
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Feb 2014 10:55:47 +0000 (10:55 +0000)]
Delete the simulator when we don't need it anymore
BUG=none
R=svenpanne@chromium.org, ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
180243010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19598
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 28 Feb 2014 10:39:36 +0000 (10:39 +0000)]
The Array function must be looked up in the native context.
Platforms x64, a64, arm and mips had the bug that the array function was looked
up in the global context instead of the native context. Fix this, restoring a
weakened assert in hydrogen along the way (by the fix for crbug 347528, which
helped find this case).
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
184383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19597
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 28 Feb 2014 10:31:05 +0000 (10:31 +0000)]
A64: fix cctest/test-assembler-a64
The simulator now deletes its decoder in its dtor. Therefore, we must
always allocate the decoder on the heap.
BUG=none
R=ulan@chromium.org, jacob.bramley@arm.com
LOG=n
Review URL: https://codereview.chromium.org/
183893005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19596
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 28 Feb 2014 10:01:27 +0000 (10:01 +0000)]
Get array_function from NativeContext
R=mvstanton@chromium.org
LOG=N
BUG=347528
Review URL: https://codereview.chromium.org/
184173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19595
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 28 Feb 2014 09:40:12 +0000 (09:40 +0000)]
Fix handling of constant global variable assignments.
BUG=347904
LOG=y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
184303003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19594
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 28 Feb 2014 08:57:38 +0000 (08:57 +0000)]
Remove dead CompileOptimized() method from JSFunction.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
181253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19593
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 28 Feb 2014 08:45:07 +0000 (08:45 +0000)]
Removed bogus ASSERT.
LOG=y
BUG=347542
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
183763007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19592
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 27 Feb 2014 17:33:25 +0000 (17:33 +0000)]
HAllocate should never generate allocation code if the requested size does not fit into page. Regression test included.
BUG=347543
LOG=N
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
180803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19591
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Thu, 27 Feb 2014 16:49:55 +0000 (16:49 +0000)]
Runtime::RunMicrotask should silent return if no pending microtask work (rather than asserting)
R=rossberg@chromium.org, rossberg
BUG=347532
Review URL: https://codereview.chromium.org/
181013008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19588
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 27 Feb 2014 16:27:22 +0000 (16:27 +0000)]
Avoid normalizing global proxy for fuzzing purposes.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
183313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19587
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 27 Feb 2014 16:07:44 +0000 (16:07 +0000)]
Fix putting of prototype transitions. The length is also subject to GC, just like entry.
BUG=347536
LOG=n
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
183193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19586
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Feb 2014 15:28:28 +0000 (15:28 +0000)]
Fix bogus assertion.
R=hpayer@chromium.org
BUG=347530
Review URL: https://codereview.chromium.org/
183243002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19585
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 27 Feb 2014 15:12:12 +0000 (15:12 +0000)]
Handle arguments objects in frame when materializing arguments
R=mstarzinger@chromium.org
BUG=347262
Review URL: https://codereview.chromium.org/
177293009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Feb 2014 14:45:53 +0000 (14:45 +0000)]
Fix bogus assertion in SetFastDoubleElements.
R=danno@chromium.org
BUG=347530
LOG=N
Review URL: https://codereview.chromium.org/
181433016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19579
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 27 Feb 2014 13:25:05 +0000 (13:25 +0000)]
Fix for Clusterfuzz issue 343928.
The problem was that the debugger didn't expect that a JSFunction could
have a GlobalContext, which it can with harmony scoping.
BUG=343928
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
183103003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19576
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 27 Feb 2014 09:48:56 +0000 (09:48 +0000)]
Revert "Better threaded fuzzing for TestFunctionCallOptimization"
This reverts commit 19567.
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
182893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 27 Feb 2014 09:36:29 +0000 (09:36 +0000)]
Implement and enable zapping of code space while sweeping.
R=danno@chromium.org, hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
181513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19568
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 27 Feb 2014 09:18:37 +0000 (09:18 +0000)]
Better threaded fuzzing for TestFunctionCallOptimization
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
182863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19567
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 26 Feb 2014 16:12:32 +0000 (16:12 +0000)]
Fix patch creation in merge-to-branch script.
Patch white space got stripped, which lead to failures when applying the patch.
- Refine test to reveal the problem
- Create a separate method for retrieving the patch that doesn't strip white space
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
181603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19566
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 26 Feb 2014 15:13:31 +0000 (15:13 +0000)]
Refactoring: Deprecate optparse in push and merge scripts.
- Deprecate optparse with argparse
- The tests include now options parsing by default: each test specifies the command-line args to parse rather than the options directly
This CL is split off from https://codereview.chromium.org/
173983002/
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
181583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 26 Feb 2014 14:50:58 +0000 (14:50 +0000)]
A64: Hardwire the decoder and the simulator
If one of --trace-sim --debug-sim or --log-instruction-stats flags is
given, we use the decoder dispatcher instead.
BUG=none
R=rodolph.perfetta@arm.com, ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
177533023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 26 Feb 2014 12:01:05 +0000 (12:01 +0000)]
A64: Make the Decoder a template
This will allow for replacing the dispatcher with a concrete decoder
visitor.
BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n
Review URL: https://codereview.chromium.org/
181253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 26 Feb 2014 11:59:17 +0000 (11:59 +0000)]
A64: Move the dispatching logic of the decoder to a separate class.
BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n
Review URL: https://codereview.chromium.org/
181233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19561
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 26 Feb 2014 11:54:55 +0000 (11:54 +0000)]
A64: Decoder should not inherit from DecoderVisitor
BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n
Review URL: https://codereview.chromium.org/
177073013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19560
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 26 Feb 2014 11:53:19 +0000 (11:53 +0000)]
Add vi swap files to .gitignore
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
181263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19559
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 25 Feb 2014 16:33:54 +0000 (16:33 +0000)]
Fix for failing asserts in HBoundsCheck code generation on x64: index register should be zero extended.
BUG=345820
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
180013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 25 Feb 2014 16:11:58 +0000 (16:11 +0000)]
Revert "Use stability to only conditionally flush information from the CheckMaps table."
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
180023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 25 Feb 2014 15:55:14 +0000 (15:55 +0000)]
Follow up to r19538: Bump preparse data version number.
r19538 changes the preparse data format, so this is probably a good idea.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
179903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 25 Feb 2014 15:47:33 +0000 (15:47 +0000)]
Re-evaluate marking bits of a descriptor array when it gets replaced.
BUG=340254
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
179733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 25 Feb 2014 15:09:47 +0000 (15:09 +0000)]
Mark HCompareMap as having Tagged representation
BUG=chromium:346636
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
176923013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 25 Feb 2014 13:53:06 +0000 (13:53 +0000)]
Crash like chrome. Currently, most chrome crashes do not yield useful stack traces as v8 does a silent abort and chrome's crash symbolization does not kick in.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
179793004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19544
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 25 Feb 2014 12:33:55 +0000 (12:33 +0000)]
Prepare push to trunk. Now working on version 3.25.3.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
179733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 25 Feb 2014 12:18:30 +0000 (12:18 +0000)]
Revert r19430, r19459:
"Reland "Allow ICs to be generated for own global proxy.""
Causing ClusterFuzz crash (issue 343928)
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
179643003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 25 Feb 2014 12:01:34 +0000 (12:01 +0000)]
Fix crasher in Object.getOwnPropertySymbols
R=arv@chromium.org, mstarzinger@chromium.org
BUG=346141
LOG=Y
Review URL: https://codereview.chromium.org/
177883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 25 Feb 2014 11:51:02 +0000 (11:51 +0000)]
Fix the bit massaging code in CompleteParserRecorder::WriteNumber.
The original code, added by
https://codereview.chromium.org/3384003/diff/7001/src/parser.cc 3.5 years ago,
failed to write numbers which contain a chunk of 7 zeroes in the middle. The
smallest such number is 2^14, so this is a problem if the source file to
preparse contains 16384 or more symbols (which happens in the wild).
This bug went unnoticed because the symbol data was not used by Parser (see
https://codereview.chromium.org/
172753002/ for starting to use it again) and
there were no tests.
R=ulan@chromium.org
BUG=346221
LOG=y
Review URL: https://codereview.chromium.org/
179433004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19538
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 25 Feb 2014 10:52:15 +0000 (10:52 +0000)]
Revert r19455 "Load target types and handlers before IC computation."
It caused performance regression in dromaeo/jslib.
BUG=346149
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
179613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 25 Feb 2014 09:55:50 +0000 (09:55 +0000)]
Don't eliminate loads with incompatible types or representations.
BUG=346343
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
179553002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19536
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 25 Feb 2014 09:55:02 +0000 (09:55 +0000)]
Fix for a smi stores optimization on x64 with a regression test.
BUG=345715
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
178833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19535
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00