erikcorry
f4f9e2c1e0
Quicksort: Choose pivot with recursive sort of pivot candidates on large arrays to avoid patholgical cases.
...
Review URL: http://codereview.chromium.org/10532193
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 07:52:47 +00:00
erikcorry
f96f439150
Add missing cast to make MSVC happier.
...
Review URL: http://codereview.chromium.org/10592003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 19:37:33 +00:00
erikcorry
458e87fd05
Snapshots: Add --extra-code flag to mksnapshot which lets you specify a file
...
with more JS code that is loaded into the VM before writing the snapshot. Get
rid of the hard coded limit on the partial snapshot cache size. This change
disables most of the serializer tests for the snapshot build of the VM: It's
getting too complicated to support both booting from a snapshot and then
creating a new snapshot from the same VM or loading more code with another
snapshot in the same VM.
Review URL: http://codereview.chromium.org/10574013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 18:38:03 +00:00
mstarzinger@chromium.org
edc231e2a9
Fix return values for Harmony map and set operations.
...
R=rossberg@chromium.org
BUG=chromium:132741,chromium:132742
TEST=mjsunit/harmony/collections
Review URL: https://chromiumcodereview.appspot.com/10573011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 15:23:03 +00:00
mstarzinger@chromium.org
a760b82cab
Enable lazy compilation for non-trivial outer contexts.
...
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
This relands r11782, r11783, r11790 and a minor fix.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10543141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 14:29:48 +00:00
jkummerow@chromium.org
b7700fb3cc
Fix a bunch of implicit casts detected by the Win64 compiler
...
Review URL: https://chromiumcodereview.appspot.com/10536202
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 13:45:30 +00:00
rossberg@chromium.org
3e6b01df18
Fix crash bug in Hydrogen occurring with empty prototype chain.
...
(Thanks for diagnosing this.)
R=vegorov@chromium.org
BUG=115100
TEST=
Review URL: https://chromiumcodereview.appspot.com/10576013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 13:44:07 +00:00
verwaest@chromium.org
30b335157f
Fixing ClearNonLiveTransition bug in combination with AccessorPairs.
...
BUG=133211
TEST=test/mjsunit/regress/regress-133211b.js
Review URL: https://chromiumcodereview.appspot.com/10575018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 13:16:39 +00:00
yangguo@chromium.org
0a60da717b
Correctly resolve local var shadowing a context-allocated var in debugger.
...
R=ulan@chromium.org
BUG=131994
TEST=regress/regress-131994.js
Review URL: https://chromiumcodereview.appspot.com/10585002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 11:25:49 +00:00
verwaest@chromium.org
8b7b7f466f
Make sure we don't leak map transitions from AccessorPairs to the Javascript world.
...
BUG=133211
TEST=test/mjsunit/regress/regress-133211.js
Review URL: https://chromiumcodereview.appspot.com/10559062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 10:58:15 +00:00
mstarzinger@chromium.org
928a1bff32
Fix handling of numbers in SameValue method.
...
R=vegorov@chromium.org
BUG=v8:2186
TEST=mjsunit/regress/regress-2186
Review URL: https://chromiumcodereview.appspot.com/10532198
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 14:21:29 +00:00
yangguo@chromium.org
fa48ccde25
Print correct line number for Error thrown inside eval.
...
R=rossberg@chromium.org
BUG=v8:1914
TEST=eval-stack-trace.js
Review URL: https://chromiumcodereview.appspot.com/10565002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 13:39:24 +00:00
mstarzinger@chromium.org
b1fe586e6b
Fix optimized code caching in FastNewClosureStub.
...
This fixes a corner-case on ARM and MIPS where optimized code was not
shared immediately across closures when a function was used in several
global contexts at once.
R=ulan@chromium.org
TEST=cctest/test-compiler/OptimizedCodeSharing
Review URL: https://chromiumcodereview.appspot.com/10544205
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 13:26:43 +00:00
mmassi@chromium.org
f6b5dc6628
Remove default from switch.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10555026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 12:56:49 +00:00
mstarzinger@chromium.org
b2f9dc54ed
MIPS: Share optimized code for closures.
...
Port r11817 (616dfcf0)
Original commit message:
Each SharedFunctionInfo gets an optimized code map to store
one optimized code object per context. When allocating a new
closure we consult this map and check if there is optimized code
that can be shared.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10557002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 12:54:10 +00:00
sanjoy@chromium.org
663a6bb594
Fix MSVC warnings about missing operator delete.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10556038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 12:48:21 +00:00
verwaest@chromium.org
6568d73d97
Removing superfluous IsSmi check from DescriptorArray::IsEmpty.
...
DescriptorArray::IsEmpty is never called with a Smi.
Review URL: https://chromiumcodereview.appspot.com/10555024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 12:42:46 +00:00
mmassi@chromium.org
8367ca9980
Reimplemented HGraph::Postorder and HGraph::PostorderLoopBlocks iteratively to avoid stack overflows.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10543138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 11:59:02 +00:00
verwaest@chromium.org
8aca22b1ef
Implementing weak referencing elements transition maps.
...
Review URL: https://chromiumcodereview.appspot.com/10559032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 11:43:09 +00:00
verwaest@chromium.org
49ad5bdf5d
Fixing bugs in promotion of elements transitions (r1175).
...
- Fixed invalid memory access when reading enum-cache from descriptor array with elements transitions but 0 real descriptors.
- Fixed infinite recursion in the intrusive map iterator when visiting elements transitions.
- Properly cached non-fastmode elements transitions.
Review URL: https://chromiumcodereview.appspot.com/10565030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 11:16:02 +00:00
danno@chromium.org
cbcf674db1
MIPS: Fix packed-element.js test on ARM with no snap
...
Port r11826 (5be3568a)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10559002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 10:51:23 +00:00
erikcorry
45c4cd26be
Avoid arbitrarily deep recursion in Array.sort.
...
BUG=v8:2185
Review URL: http://codereview.chromium.org/10561017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 09:23:05 +00:00
jkummerow@chromium.org
635382e16e
Remove unused-but-set variable from objects.cc.
...
This fixes compilation with newer GCCs.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/10568006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 08:28:32 +00:00
peter.rybin@gmail.com
a2e9f7c46b
Fix for Issue 915
...
Review URL: https://chromiumcodereview.appspot.com/10332101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-16 21:40:35 +00:00
peter.rybin@gmail.com
bdfc48a3fd
Support 'restart call frame' debug command
...
Review URL: https://chromiumcodereview.appspot.com/10544151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 16:52:03 +00:00
ulan@chromium.org
b072e6156b
Unify promotion and allocation limit computation.
...
BUG=129628
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10552002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 13:48:54 +00:00
mstarzinger@chromium.org
dd21ee801b
Fix external exceptions in external try-catch handlers.
...
This tries to propagate exceptions which are externally thrown into
external try-catch handlers before scheduling them. This also allows
embedders to nest external try-catch handlers.
R=rossberg@chromium.org
BUG=v8:2166
TEST=cctest/test-api/TryCatchNested
Review URL: https://chromiumcodereview.appspot.com/10555004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 13:34:39 +00:00
erik.corry@gmail.com
045b2fbf20
Revert part of 11727 as it sometimes tanked V8 benchmark (raytrace) performance
...
for reasons that are not obvious. Now we make objects into fast-case objects
when they are made prototypes for other objects, but we do not mark objects
that are already fast case with a bit that helps keep them in fast case.
Review URL: https://chromiumcodereview.appspot.com/10556004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 11:53:09 +00:00
mstarzinger@chromium.org
3a739a1cb6
Fix list traversal of optimized functions in deoptimizer.
...
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10546179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 10:36:45 +00:00
danno@chromium.org
d03c2374bd
Fix packed-element.js test on ARM with no snap
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10546171
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 09:15:57 +00:00
yangguo@chromium.org
a075583479
Unbreak interpreted regexp.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 17:06:16 +00:00
danno@chromium.org
dee723df12
Reset the path tracer completely, and check whether an object has source code before trying to print
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9749008
Patch from Jochen Eisigner <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 15:33:15 +00:00
yangguo@chromium.org
c0d2fe256b
Check for valid PC when stepping in the ARM sim debugger.
...
BUG=v8:2134
TEST=
Review URL: https://chromiumcodereview.appspot.com/10546169
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 15:04:27 +00:00
rossberg@chromium.org
8da87d2308
ES5.2 var semantics: take hidden prototypes into account.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10546166
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 14:37:10 +00:00
fschneider@chromium.org
bb0a2ea766
Share optimized code for closures.
...
Each SharedFunctionInfo gets an optimized code map to store
one optimized code object per context. When allocating a new
closure we consult this map and check if there is optimized code
that can be shared.
This patch is based on an original patch
by Anton Muhin (http://codereview.chromium.org/6793013/ ).
BUG=v8:2087, v8:2094
TEST=test/mjsunit/compiler/optimized-closures.js
Review URL: https://chromiumcodereview.appspot.com/10103035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 14:06:22 +00:00
yangguo@chromium.org
675d9b8a04
Add missing string length check in regexp engine.
...
R=erik.corry@gmail.com
BUG=v8:2172
TEST=regress-2172.js
Review URL: https://chromiumcodereview.appspot.com/10536170
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 13:59:48 +00:00
mstarzinger@chromium.org
90c2448be6
Fix assertion for map code cache of shared maps.
...
R=danno@chromium.org
TEST=mjsunit/compare-known-objects-slow
Review URL: https://chromiumcodereview.appspot.com/10548046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 13:54:23 +00:00
loislo@chromium.org
1a86ed8c30
Workaround for: Chrome dev tools crashes when taking a heap snapshot of Docs offline shared worker.
...
BUG=132727
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10543160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 12:21:05 +00:00
yangguo@chromium.org
fb81da2e5f
ARM: Fix literal pool handling for breakpoints in debugger.
...
BUG=2177
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10449047
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 11:16:47 +00:00
danno@chromium.org
a3b9d6f39b
Fix Kraken regression due to optimistic monomorphic element transitions
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10539141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 08:57:34 +00:00
yangguo@chromium.org
9978fae61d
Ensure removing processed command line arguments.
...
BUG="d8 --crankshaft --expose-debug-as" crashes
TEST=test-flags/FlagsRemoveIncomplete
Review URL: https://chromiumcodereview.appspot.com/10534137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 15:02:05 +00:00
yangguo@chromium.org
ce6aa5c251
Remove faster ticks for debug mode.
...
This solves the problem that code runs very slow when the debugger is enabled.
BUG=v8:2179
TEST=
Review URL: https://chromiumcodereview.appspot.com/10544135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 14:07:50 +00:00
mstarzinger@chromium.org
74ab92e0ac
Fix performance regression caused by r11202.
...
R=erik.corry@gmail.com
BUG=v8:2156,v8:2034
TEST=mjsunit/regress/regress-2156,mjsunit/regress/regress-2034
Review URL: https://chromiumcodereview.appspot.com/10539131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:58:18 +00:00
mmassi@chromium.org
4c4726dda3
Prepare push to trunk. Now working on version 3.12.0.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10532124
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:49:26 +00:00
mstarzinger@chromium.org
9edaa1536b
Revert r11782, r11783 and r11790 due to Webkit failures.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10536142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:26:34 +00:00
alexeif@chromium.org
55595839f6
Fix failing STATIC_CHECK on Windows.
...
Review URL: https://chromiumcodereview.appspot.com/10543135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:23:16 +00:00
erik.corry@gmail.com
89176e88d8
MIPS: Add negative lookups to polymorphic loads in Crankshaft.
...
This is a commit of https://chromiumcodereview.appspot.com/10536130/ for Akos Palfi.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:09:28 +00:00
alexeif@chromium.org
c1944660f5
Implement heap profiler memory usage reporting.
...
Review URL: https://chromiumcodereview.appspot.com/10535096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:02:24 +00:00
erikcorry
5eb4baed65
Fix r11780 to avoid bugs where near branches are used to labels that are out of range.
...
Review URL: http://codereview.chromium.org/10542137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 09:54:34 +00:00
ulan@chromium.org
f8b4574250
Return an error when parsing invalid dates where a number immediately follows a word.
...
BUG=53209,126448
TEST=mjsunit/date-parse.js
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10541138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 09:10:37 +00:00
mstarzinger@chromium.org
d946c31060
Adapt pre-parser heuristics for lazy compilation.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10540120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 09:10:16 +00:00
danno@chromium.org
4a385fa269
MIPS: Eliminate redundant smi checks
...
Port r11774 (28c45b9b)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10536128
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 07:55:53 +00:00
svenpanne@chromium.org
9786db794a
MIPS: Small fix for r11771 (1b74d45b).
...
TEST=mjsunit/object-define-property.js
BUG=
Review URL: https://chromiumcodereview.appspot.com/10535138
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 06:42:30 +00:00
erik.corry@gmail.com
539084c242
Revert r11778 "Activate packed array optimizations by default" due to mjsunit test failures on ARM.
...
TBR=danno
Review URL: https://chromiumcodereview.appspot.com/10550002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 22:34:13 +00:00
svenpanne@chromium.org
1ea5db0ed3
Martyn Capewell <m.m.capewell@googlemail.com>
...
Review URL: https://chromiumcodereview.appspot.com/10451037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 17:26:28 +00:00
mstarzinger@chromium.org
f78c124812
Fix failing assertion in r11782.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10548004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 16:53:15 +00:00
mstarzinger@chromium.org
19ece2bec8
Enable lazy compilation for non-trivial outer contexts.
...
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10538102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:57:50 +00:00
erik.corry@gmail.com
fa072704af
Force inlining of some hot functions (problem reported by Bert Belder).
...
Review URL: https://chromiumcodereview.appspot.com/10546122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:45:08 +00:00
erikcorry
0418b67142
Add negative lookups to polymorphic loads in Crankshaft.
...
Review URL: http://codereview.chromium.org/10539110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:44:12 +00:00
danno@chromium.org
d20af8417b
Activate packed array optimizations by default
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10546123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:38:57 +00:00
danno@chromium.org
92716a157f
Optimization of some packed array cases.
...
R=jkummerow@chromium.org
TEST=slight improvement in 3d-morph
Review URL: https://chromiumcodereview.appspot.com/10538104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:30:16 +00:00
yangguo@chromium.org
8d07c7ff0d
Disable array bounds checks elimination by default.
...
BUG=132114
TEST=
Review URL: https://chromiumcodereview.appspot.com/10532107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:22:21 +00:00
danno@chromium.org
43a1f5e25d
Eliminate redundant smi checks
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 12:16:19 +00:00
vegorov@chromium.org
06723da272
Fix arm build.
...
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 10:30:51 +00:00
vegorov@chromium.org
75ca3e3395
Reimplement dynamic frame alignment for frames that are compiled via OSR or have more than 2 double spill slots.
...
The first spill slot is now reserved on all optimized frames to distinguish frames that were aligned.
Review URL: https://chromiumcodereview.appspot.com/10532066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 10:22:33 +00:00
svenpanne@chromium.org
e6f2eab7f6
Implemented StoreIC for setters.
...
Review URL: https://chromiumcodereview.appspot.com/10534091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 09:32:17 +00:00
svenpanne@chromium.org
075cd7ac5a
Presubmit fix.
...
TBR=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10539102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:47:29 +00:00
svenpanne@chromium.org
1212a122b7
MIPS: Remove TLS access for current Zone.
...
Port r11761 (769624bf)
Original commit message:
By passing around a Zone object explicitly we no longer need to do a
TLS access at the sites that allocate memory from the current Zone.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10537108
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:43:13 +00:00
yangguo@chromium.org
4b50adaf9a
MIPS: Reland r11753: Fix try..finally.
...
Port r11762 (4fdbdd7a)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10545121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:15:59 +00:00
yangguo@chromium.org
aed1f49552
Port r11704 to MIPS.
...
BUG=2174
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/10538080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:13:14 +00:00
ulan@chromium.org
75a1fa91ef
Reland r11425 "Re-enable optimization for hot functions that have optimization disabled due to many deopts."
...
Fix performance regressions introduced in r11425 by
- counting number of function deoptimizations instead of function optimizations,
- packing several counters into one field of shared function info.
BUG=v8:2040,121196
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10534063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 16:57:27 +00:00
sanjoy@chromium.org
d67e1d4fe9
AssemblerBase does not need remember a Zone. Fix this.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10546095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 16:47:08 +00:00
yangguo@chromium.org
09179b314a
Reland r11753: Fix try..finally.
...
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage, mjsunit/try-finally-continue.js
Review URL: https://chromiumcodereview.appspot.com/10540095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 13:18:05 +00:00
sanjoy@chromium.org
6125718f37
Remove TLS access for current Zone.
...
By passing around a Zone object explicitly we no longer need to do a
TLS access at the sites that allocate memory from the current Zone.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10534006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 12:42:31 +00:00
erikcorry
e957b2d51b
Fix lint.
...
Review URL: http://codereview.chromium.org/10542100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 12:32:14 +00:00
mmassi@chromium.org
d9f393d1c9
Add guard against self assignment.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10537024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 11:25:10 +00:00
yangguo@chromium.org
e98fb1028b
Revert r11753.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10546092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 11:21:21 +00:00
erikcorry
afc9b8e9a9
Fix optimization of Unicode regexp with ASCII subject to respect repeat counts.
...
bug=131923
Review URL: http://codereview.chromium.org/10544093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 11:18:04 +00:00
yangguo@chromium.org
1b25fb8fa9
Preserve error message during finally block in try..finally.
...
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage
Review URL: https://chromiumcodereview.appspot.com/10537078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 10:51:09 +00:00
danno@chromium.org
a1d9aca22f
Fix EnsureCanContainElements to properly handle double values.
...
R=jkummerow@chromium.org
BUG=v8:2170
TEST=test/mjsunit/regress/regress-2170.js
Review URL: https://chromiumcodereview.appspot.com/10542084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 08:41:48 +00:00
verwaest@chromium.org
2b574ef580
Promoting elements transitions to their own field.
...
This is a first step towards separating all transitions from the property descriptions. If we link the property descriptions from the transition object, this will in allow the descriptor array (property descriptions) to become immutable.
Review URL: https://chromiumcodereview.appspot.com/10444055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 06:59:56 +00:00
ulan@chromium.org
8eb03561ae
Adjust Android heap sizes.
...
This improves performance on heavy pages by increasing
max_executable_size_ and max_old_generation_size_.
There is now no need for an Android specific LUMP_OF_MEMORY.
Review URL: https://chromiumcodereview.appspot.com/10541053
Patch from Ben Murdoch <benm@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 13:21:40 +00:00
danno@chromium.org
4e525b85fc
Optimistically assume that elements IC only transition once.
...
Thanks to Zheng Liu for identifying this issue.
R=jkummerow@chromium.org
BUG=v8:2141
TEST=test/mjsunit/elements-kind.js
Review URL: https://chromiumcodereview.appspot.com/10532063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 13:06:24 +00:00
svenpanne@chromium.org
552cf12522
Make clang/GCMole happy.
...
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10532065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 12:53:20 +00:00
vegorov@chromium.org
d04ba1b2fb
Improve representation inference
...
- Extend HValue interface to allow splitting observed input representation (comming from type feedback) from required input representation (dictated by instruction itself). Currently all instructions except for bitwise binary operations have this representations match. For bitwise binary operations hydrogen builder unconditionaly forces Integer32 representation for those operations that have Double type feedback. Thus causing representation inference to incorrectly count such uses as Integer32 instead of Double. This change also prepares for more fine grained type feedback for inputs of binary operations.
- For phies that are not convertable to Integer32 discard direct and indirect use count of Integer32 type to avoid propagation of these uses to connected phies.
R=jkummerow@chromium.org
BUG=v8:2096
Review URL: https://chromiumcodereview.appspot.com/10540049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 09:21:23 +00:00
svenpanne@chromium.org
128f426e06
Tentative fix for overly clever Mac compiler.
...
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 09:15:32 +00:00
svenpanne@chromium.org
40dbd13e2e
Added LoadIC stub for getters.
...
Removed some dead constants on the way.
Review URL: https://chromiumcodereview.appspot.com/10515008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 08:48:05 +00:00
mstarzinger@chromium.org
81e8aa0016
Implement implicit instance checks for API accessors.
...
This allows to specify a constructor against which an implicit instance
check is performed for API accessors. If the receiver is incompatible,
an implicit TypeError is thrown and no callback is invoked.
R=svenpanne@chromium.org
BUG=v8:2075
TEST=cctest/test-api/InstanceCheckOn[*]
Review URL: https://chromiumcodereview.appspot.com/10442129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 07:45:11 +00:00
erik.corry@gmail.com
657422c29a
Use the syntax of a property addition as a hint for controlling the fast-mode vs. dictionary mode heursitics on objects.
...
Review URL: https://chromiumcodereview.appspot.com/10537050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-07 12:08:07 +00:00
mstarzinger@chromium.org
5e8cc58b9f
Fix CompileFullCodeForDebugging to compile closure.
...
This compiles against a given closure instead of the shared function
info, which is a prerequisite for enabling lazy compilation of inner
functions within a closure with non-trivial context.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 15:21:13 +00:00
svenpanne@chromium.org
089cb3ae50
Unbreak MIPS build after recent zone-related changes
...
Review URL: https://chromiumcodereview.appspot.com/10533022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 11:44:54 +00:00
danno@chromium.org
16e4c29513
Optimize write barrier of map-only elements transitions
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10544005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 11:05:28 +00:00
alexeif@chromium.org
31a0d0257c
Serialize edge counts instead of indexes in heap snapshot.
...
The serialized node structure currently holds an index
of its first containment edge in the edges array.
The index can be quite big (up to 7 digits for large snapshots).
The patch changes the serialization format to pass
node containment edge count instead. For most nodes the count
is just a single digit number.
This reduces serialized snapshot size and therefore its transfer time.
Review URL: https://chromiumcodereview.appspot.com/10534008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 10:57:20 +00:00
erik.corry@gmail.com
911d447b96
Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.
...
This is a reland of r11681 https://chromiumcodereview.appspot.com/10448011 , which was reverted because of layout test failures that were actually caused by the long-standing issue fixed in https://chromiumcodereview.appspot.com/10515006 (r11706).
Review URL: https://chromiumcodereview.appspot.com/10532021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 10:17:26 +00:00
mstarzinger@chromium.org
99e0908cfd
Cleanup Runtime_SetCode and drop EnsureCompiled.
...
This change triggers compilation for a given closure instead of the
shared function info. It will allow for even more cases to be compiled
lazily.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10544025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 09:54:46 +00:00
rossberg@chromium.org
e16a23da9f
Prepare push to trunk. Now working on version 3.11.10.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10542022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 09:26:22 +00:00
yangguo@chromium.org
8728847c2f
Fix assertion in the debug agent.
...
Patch by Chris Taylor <chris@gameclosure.com>.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10543018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 08:37:34 +00:00
erik.corry@gmail.com
c3e6fab818
Remove CheckNotRegistersEqual regexp-masm function from all architectures. This is a commit of http://codereview.chromium.org/10066009/ for Daniel Kalmar
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 07:50:22 +00:00
yangguo@chromium.org
76f4f9efa8
Correctly check length when allocating string.
...
R=jkummerow@chromium.org
BUG=
TEST=regress-regexp-overflow.js
Review URL: https://chromiumcodereview.appspot.com/10538012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 17:41:59 +00:00
rossberg@chromium.org
4ea1fc0d27
Remove one more case behind --es5_readonly flag.
...
Plus add a couple of assertions.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 16:56:53 +00:00
ulan@chromium.org
eba324f9b1
Revert one line from r11715 because of a test failure on Windows.
...
TEST=mjsunit/harmony/proxies
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10532004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 14:41:01 +00:00
rossberg@chromium.org
9de4261527
MIPS: Implement correct checking for inherited readonliness on assignment.
...
Port r11694 (29aa05e9)
Original commit message:
Implement correct checking for inherited readonliness on assignment.
Removes 6 out of 8 of our remaining unintentional failures on test262.
Also fixes treatment of inherited setters added after the fact.
Specifically:
- In the runtime, when looking for setter callbacks in the prototype chain,
also look for read-only properties. If one is found, reject (exception in
strict mode). If a proxy is found, invoke proper trap.
Note: this folds in the CanPut function from the spec and avoids an extra
lookup over the prototype chain.
- In generated code for stores, insert a test for the maps from the prototype
chain, but only up to the object where the property already exists (which
may be the object itself).
In Hydrogen, if the found property is read-only or not cacheable (e.g. a
proxy), bail out; in a stub, generate an unconditional miss (to get an
exception in strict mode).
- Add test cases and adapt existing test expectations.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10539004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 13:47:56 +00:00
ulan@chromium.org
1a80bc33a2
Replace SharedFunctionInfo::EnsureCompiled with JSFunction::CompileLazy where possible.
...
After we get rid of all SharedFunctionInfo::EnsureCompiled calls, it will be possible to remove the HasTrivialOuterContext() condition in Scope::AllowsLazyCompilation.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10542002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 13:15:35 +00:00
rossberg@chromium.org
c13dd2ece6
Put inherited readonliness behind a flag,
...
since it currently breaks WebKit bindings massively.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 12:39:07 +00:00
verwaest@chromium.org
a85f4e4226
ClearNonLiveTransitions has to hold on to non-map values.
...
This ensures that we don't accidentally throw away getters and/or setters that are still needed. To make sure the bug gets triggered, we have to construct a situation where the map is on the live side of a live->non-live transition. This ensures that the map is passed to ClearNonLiveTransitions.
BUG=v8:2163
TEST=test/mjsunit/regress/regress-2163.js
Review URL: https://chromiumcodereview.appspot.com/10535004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 11:36:57 +00:00
mmassi@chromium.org
bf3a25b337
Transform HGlobalValueNumberer::AnalyzeBlock from recursive into an iteraive loop keeping the traversal state in the zone instead of on the stack.
...
Fixed issue 129536.
BUG=129536
TEST=
Review URL: https://chromiumcodereview.appspot.com/10520004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 08:59:39 +00:00
sanjoy@chromium.org
98db16d94f
Progress towards making Zones independent of Isolates and Threads.
...
This CL changes some parts of the code to explicitly pass around a
Zone. Not passing in a zone is okay too (in fact most of v8 still
doesn't), but that may incur a TLS lookup.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10443114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 14:42:58 +00:00
danno@chromium.org
0686fc2531
MIPS: Fix several bugs that cause crashes in soft-float mode.
...
TEST=cctest/RobustSubStringStub,cctest/test-api/Threading,cctest/test-api/ExternalFloatArray,cctest/test-api/ExternalDoubleArray,mjsunit/external-array,mjsunit/unicodelctest
BUG=
Review URL: https://chromiumcodereview.appspot.com/10446003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 13:56:10 +00:00
erik.corry@gmail.com
0a856e0bd7
Fix bug in __proto__ assignment transition cache where we forget the next enumeration index resulting in wrong iteration order.
...
Review URL: https://chromiumcodereview.appspot.com/10515006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 12:07:46 +00:00
yangguo@chromium.org
1245aaf3bc
Fix deadlock when terminating debugger session.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10479009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 09:01:37 +00:00
yangguo@chromium.org
85e3fba8a3
Remove unnecessary code for non-zero-length global regexps.
...
Also fixing a bug in the arm implementation.
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/10383280
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 08:49:17 +00:00
verwaest@chromium.org
98c37e1f4c
Merging ContentArray into DescriptorArray
...
Review URL: https://chromiumcodereview.appspot.com/10412030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 07:20:11 +00:00
loislo@chromium.org
463a6ffdd4
Expose last seen heap object id via v8 public api.
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10444137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 16:10:52 +00:00
rossberg@chromium.org
e4b410f88f
STATIC_ASSERT is not available in shared build.
...
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10444136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 12:28:15 +00:00
rossberg@chromium.org
4b583674da
Silence Windows warning.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10449108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 12:10:19 +00:00
rossberg@chromium.org
f6017d36f2
Clean up d8 ArrayBuffer implementation and fix bug in readbuffer:
...
- Separate CreateExternalArrayBuffer function.
- Properly create buffers for arrays constructed with size argument only.
- Finalization of data array is tied to buffer object exclusively.
- Get rid of hidden buffer reference in array objects and size header in data.
- Use 'new' instead of 'malloc' in readbuffer.
- Test cases for additional array and buffer properties.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10459047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 11:46:05 +00:00
erik.corry@gmail.com
ae4fcd9702
Limit work done analyzing regexps with very large fanout.
...
BUG=128821
Review URL: https://chromiumcodereview.appspot.com/10448117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 11:28:52 +00:00
rossberg@chromium.org
d87249945f
Fix merge issue.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10454115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 11:09:09 +00:00
rossberg@chromium.org
e4c472a7af
Implement correct checking for inherited readonliness on assignment.
...
Removes 6 out of 8 of our remaining unintentional failures on test262.
Also fixes treatment of inherited setters added after the fact.
Specifically:
- In the runtime, when looking for setter callbacks in the prototype chain,
also look for read-only properties. If one is found, reject (exception in
strict mode). If a proxy is found, invoke proper trap.
Note: this folds in the CanPut function from the spec and avoids an extra
lookup over the prototype chain.
- In generated code for stores, insert a test for the maps from the prototype
chain, but only up to the object where the property already exists (which
may be the object itself).
In Hydrogen, if the found property is read-only or not cacheable (e.g. a
proxy), bail out; in a stub, generate an unconditional miss (to get an
exception in strict mode).
- Add test cases and adapt existing test expectations.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10388047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 10:51:36 +00:00
verwaest@chromium.org
dd54b0acf7
ClearNonLiveTransitions indepedent of ContentArray
...
Review URL: https://chromiumcodereview.appspot.com/10387231
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 09:12:01 +00:00
verwaest@chromium.org
c8a99c221b
Prepare push to trunk. Now working on version 3.11.9.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10447114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 13:22:56 +00:00
erikcorry
634ffc9600
Report syntax errors in natives when building with mksnapshot.
...
Review URL: http://codereview.chromium.org/10443085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 12:26:36 +00:00
erik.corry@gmail.com
047a7cfee0
Avoid overdeep recursion in regexp where a guarded expression with a
...
minimum repetition count is inside another quantifier.
Bug=129926
Review URL: https://chromiumcodereview.appspot.com/10451092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 11:59:04 +00:00
erik.corry@gmail.com
b7b43e9af9
Revert r11681 https://chromiumcodereview.appspot.com/10448011
...
(Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.).
Reverting because the dict-mode to fast case transformation loses the iteration order information.
Review URL: https://chromiumcodereview.appspot.com/10448097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 09:27:39 +00:00
verwaest@chromium.org
75f35d3fe1
Decoupling MarkDescriptorArray as much as possible from the ContentArray.
...
Review URL: https://chromiumcodereview.appspot.com/10417030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 15:15:17 +00:00
verwaest@chromium.org
3a2d4c88f4
TraversableMap only dependent on DescriptorArray
...
This is the first step towards merging the ContentArray into the DescriptorArray, (hence reclaiming 3 words per descriptor array).
Review URL: https://chromiumcodereview.appspot.com/10455005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:54:00 +00:00
erik.corry@gmail.com
8cf2af4392
Keep track of which maps are associated with prototype objects
...
so we can tune the fast-case vs. hash map heuristics accordingly.
Review URL: https://chromiumcodereview.appspot.com/10448011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:40:57 +00:00
rossberg@chromium.org
40cc4062d2
Fix broken change to d8 typed arrays.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10441091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:26:34 +00:00
rossberg@chromium.org
716eac2801
Some clean-up of typed array support in d8.
...
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10392130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 13:35:29 +00:00
mstarzinger@chromium.org
ebe9a0e0b2
Fix missing write barrier in store field stub.
...
R=vegorov@chromium.org
BUG=v8:2143,v8:1465,chromium:129355
TEST=cctest/test-heap/Regress2143
Review URL: https://chromiumcodereview.appspot.com/10443052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 16:39:26 +00:00
rossberg@chromium.org
50fdcca1da
Proxies: Fix receiver for setters inherited from proxies.
...
R=mstarzinger@chromium.org
BUG=v8:1543
TEST=
Review URL: https://chromiumcodereview.appspot.com/10451064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 14:00:56 +00:00
rossberg@chromium.org
7a7ea0b547
Proxies: Fix ToStringArray function so that it does not reject some keys.
...
R=mstarzinger@chromium.org
BUG=v8:1543
TEST=
Review URL: https://chromiumcodereview.appspot.com/10453053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 13:57:55 +00:00
svenpanne@chromium.org
e0d4c33e3a
Prepare push to trunk. Now working on version 3.11.8.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10451065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 13:19:43 +00:00
svenpanne@chromium.org
39f88f1b26
Fixed JSObject::SetPropertyForResult (issue 2153)
...
AccessorPairs containing only holes are maps were handled incorrectly.
BUG=v8:2153
TEST=mjsunit/regress/regress-2153.js
Review URL: https://chromiumcodereview.appspot.com/10453054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 12:42:22 +00:00
mstarzinger@chromium.org
f9b8a8fc91
Revert r11665, r11666 and r11667 due to slowness.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10447033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 15:26:52 +00:00
verwaest@chromium.org
502123f912
Fixing debug build, missing parentheses
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10450038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:39:07 +00:00
verwaest@chromium.org
1c332bfd2e
Fixing unused Map* in release build
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10442032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:21:20 +00:00
verwaest@chromium.org
fd579e3dc8
TraversableMap only dependent on DescriptorArray
...
This is the first step towards merging the ContentArray into the DescriptorArray, (hence reclaiming 3 words per descriptor array).
Review URL: https://chromiumcodereview.appspot.com/10411067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:03:34 +00:00
svenpanne@chromium.org
0fa7de11b5
Enable map transitions for accessor properties.
...
To avoid a performance regression for context creation with snapshots, we avoid
creating a useless long map chain for regular expressions, keeping the snapshot
size almost the same as before.
Review URL: https://chromiumcodereview.appspot.com/10440045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 12:32:02 +00:00
yangguo@chromium.org
24a1503d28
Fix creating substring in string.replace(<global regexp>, <function>).
...
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/10454032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 10:52:38 +00:00
danno@chromium.org
407e070fe0
Add missing FastElements check.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10451034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 09:58:40 +00:00
yurys@chromium.org
60da267ab6
Clear pending functions list in FuncNameInferrer when it closes
...
BUG=v8:2146
Review URL: https://chromiumcodereview.appspot.com/10414075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 12:41:55 +00:00
yangguo@chromium.org
86c2a15691
messages.js: Get better function names in stack traces.
...
CallSite.getFunctionName() is able to retrieve names for functions better than
getFunction().name. Use it in CallSite.toString().
Code by marja@chromium.org .
BUG=NONE
TEST=stack-traces.js: Added testClassNames.
Review URL: https://chromiumcodereview.appspot.com/10384196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 11:00:05 +00:00
svenpanne@chromium.org
ff216c9cea
Re-land: Use map transitions when defining accessor properties.
...
This is basically r11496, with the following changes:
* Set back pointers in maps (cherry-picked from r11528)
* Fixed size calculation in CopyInsert, as proposed by mstarzinger/rossberg
* DefineFastAccessor uses GetCallbackObject instead of GetValue (for __proto__)
* Put the code under a new flag, which is disabled by default
* Cut down the corresponding regression test
* Adapted bootup memory test, we actually only need a bit more memory on 64bit without snapshots, which can easily explained by more live maps lying around. Note that the snapshot variants are back to their previous limits.
Next steps: Investigate any performance degradationswith the flag enabled, and finally remove the flag when things are OK. Furthermore, GetCallbackObject should be merged into GetValue, the distinction is confusing and error-prone.
Review URL: https://chromiumcodereview.appspot.com/10445009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 10:40:24 +00:00
mmassi@chromium.org
9daf62dfce
Broke line longer than 80 chars.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10451011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:59:21 +00:00
jkummerow@chromium.org
64459021ef
Prepare push to trunk. Now working on version 3.11.7.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10442011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:26:03 +00:00
mmassi@chromium.org
0260303568
MIPS: Array index computation dehoisting.
...
Port r11596 (0cee9fca)
Original commit message:
Array index computation dehoisting.
When an array index (in an array access) is a simple "expression + constant", just embed the constant in the array access operation so that the full index expression is (potentially) no longer used and its live range can be much shorter.
This is effective in conjunction with array bounds check removal (otherwise the index is anyway used in the check).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10442003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:22:29 +00:00
yangguo@chromium.org
3c074eb120
Fix lint check.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10447008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 08:09:21 +00:00
yangguo@chromium.org
ef7524bd29
MIPS: Implement loop for global regexps in regexp assembler.
...
Port r11623 (f153116d)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10436012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 07:29:49 +00:00
danno@chromium.org
17ec52b6cd
Fix build and test failures from packed array optimizations.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10332317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 21:15:14 +00:00