erik.corry@gmail.com
53c6838cce
Remove 5 unused flags.
...
Review URL: https://chromiumcodereview.appspot.com/9362014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 15:39:41 +00:00
kmillikin@chromium.org
e505a085e3
Remove the JSON AST printing support.
...
We are not currently maintaining or testing this.
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9363019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 13:53:24 +00:00
rossberg@chromium.org
a0b287a3b1
Extend scanner with new Harmony module keywords (under flag).
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9352013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:53:58 +00:00
fschneider@chromium.org
5bc8a69055
Remove another two unused flags.
...
Review URL: https://chromiumcodereview.appspot.com/9358019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:26:17 +00:00
kmillikin@chromium.org
9463c00d64
Remove unused --peephole-optimization flag.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9361022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 09:55:25 +00:00
vegorov@chromium.org
cc3c37ef61
Disable code compaction again.
...
Check failures are gone but now layout tests are failing.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9351019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 16:34:26 +00:00
vegorov@chromium.org
99fa8059c3
Try enabling (non-incremental) code compaction again.
...
This time include slot-recording fixes in code flushing that were accidentally omitted from the previous commit.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 14:43:51 +00:00
vegorov@chromium.org
9920e441fa
Disable code compaction again while we investigate buildbot check failures.
...
Review URL: https://chromiumcodereview.appspot.com/9351013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 10:03:08 +00:00
vegorov@chromium.org
029aa9ef92
Enable non-incremental code compaction.
...
It is intended to bring memory usage down on idle notifications.
R=erik.corry@gmail.com
BUG=v8:1726
Review URL: https://chromiumcodereview.appspot.com/9323079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 08:51:47 +00:00
fschneider@chromium.org
0ec7773680
Allow bailing out of the register allocator when running out of virtual registers.
...
1. Instead of checking upfront and estimating a limit for the number, we
now are able to stop register allocation and bailout when we don't
have enough virtual registers.
2. GCed some out-dated flags from flag-definition.h
3. Simplified the interface from the Lithium builder to the
register allocator in lithium-*.cc: For uses and definitions, we
just record the virtual register number given by the Hydrogen value id.
For temporaries, we request a new virtual register from the allocator.
For fixed temps, we don't need to do anything.
4. Increased number of deoptimization entries to 16K. Eventually we
probably want to make this array grow dynamically.
Review URL: https://chromiumcodereview.appspot.com/9325019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-03 12:05:08 +00:00
svenpanne@chromium.org
82d1f51534
Give uses within a loop a greater weight when doing representation inference.
...
Uses of a value are weighted by a factor of FLAG_loop_weight (default: 10) for
every loop they are in. This makes uses in inner loops "more important", which
should improve the result of the representation inference.
Review URL: https://chromiumcodereview.appspot.com/8277031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-01 08:49:18 +00:00
yangguo@chromium.org
f8115b345d
Removing some dead flags.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9121075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-30 12:25:29 +00:00
rossberg@chromium.org
b05d7619c8
Do not turn on typeof null reform with --harmony switch.
...
R=yangguo@chromium.org
BUG=v8:1913
TEST=
Review URL: https://chromiumcodereview.appspot.com/9232047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 13:07:39 +00:00
erik.corry@gmail.com
dc9910f4a4
Minor cleanups of numeric seeded hashing patch.
...
Review URL: http://codereview.chromium.org/9155010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 13:24:18 +00:00
erik.corry@gmail.com
81a0271004
Randomize the seed used for string hashing. This helps guard against
...
CPU-eating DOS attacks against node.js servers. Based on code from
Bert Belder. This version only solves the issue for those that compile
V8 themselves or those that do not use snapshots. A snapshot-based
precompiled V8 will still have predictable string hash codes.
Review URL: http://codereview.chromium.org/9086006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 15:12:15 +00:00
ulan@chromium.org
d61278da6d
Do not reassign debug-only flag in release mode.
...
BUG=1871
TEST=
Review URL: http://codereview.chromium.org/9021011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-21 16:19:55 +00:00
yangguo@chromium.org
9821d28836
Change --print-all-code to include --code-comments.
...
Review URL: http://codereview.chromium.org/8968010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-16 08:38:52 +00:00
yangguo@chromium.org
4b05f743e0
Introduce --print-all-code flag and infrastructure for one flag to imply another flag.
...
Review URL: http://codereview.chromium.org/8957009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 17:00:27 +00:00
keuchel@chromium.org
1e9a7267ab
Introduce extended mode.
...
This CL introduces a third mode next to the non-strict
(henceforth called 'classic mode') and 'strict mode'
which is called 'extended mode' as in the current
ES.next specification drafts. The extended mode is based on
the 'strict mode' and adds new functionality to it. This
means that most of the semantics of these two modes
coincide.
The 'extended mode' is entered instead of the 'strict mode'
during parsing when using the 'strict mode' directive
"use strict" and when the the harmony-scoping flag is
active. This should be changed once it is fully specified how the 'extended mode' is entered.
This change introduces a new 3 valued enum LanguageMode
(see globals.h) corresponding to the modes which is mostly
used by the frontend code. This includes the following
components:
* (Pre)Parser
* Compiler
* SharedFunctionInfo, Scope and ScopeInfo
* runtime functions: StoreContextSlot,
ResolvePossiblyDirectEval, InitializeVarGlobal,
DeclareGlobals
The old enum StrictModeFlag is still used in the backend
when the distinction between the 'strict mode' and the 'extended mode' does not matter. This includes:
* SetProperty runtime function, Delete builtin
* StoreIC and KeyedStoreIC
* StubCache
Review URL: http://codereview.chromium.org/8417035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-24 15:17:04 +00:00
erik.corry@gmail.com
5c1044bb54
Add flag --collect-megamorphic-maps-from-stub-cache to help diagnose a
...
memory leak.
Review URL: http://codereview.chromium.org/8599006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-18 14:08:57 +00:00
whesse@chromium.org
7a25c43a07
Remove stack height tracking from ia32 non-optimizing code generator.
...
Review URL: http://codereview.chromium.org/8340023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-01 12:20:46 +00:00
kmillikin@chromium.org
f077a41b12
MIPS: crankshaft implementation
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7934002
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-28 08:14:46 +00:00
mstarzinger@chromium.org
622d35dc0e
Implement Harmony sets and maps.
...
This implementation extends the internal ObjectHashTable to be able to
hold arbitrary objects (e.g. Smis, Strings, ...) as keys by applying
specialized hashing functions to primitive types. Equality of keys is
defined using the internal SameValue function.
R=rossberg@chromium.org
BUG=v8:1622
TEST=mjsunit/harmony/collections
Review URL: http://codereview.chromium.org/8372027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-25 14:14:56 +00:00
lrn@chromium.org
a47caee095
Make builtin functions be skipped in stack traces.
...
Does include exposed builtin functions ("native functions").
Review URL: http://codereview.chromium.org/8345039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-20 12:31:33 +00:00
danno@chromium.org
f7563019c7
Add flag to trace element kind transitions
...
Currently only traces transitions from generated ia32 code.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8357004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-20 09:38:24 +00:00
yangguo@chromium.org
298e0a9862
Tentatively enabling string slices.
...
Review URL: http://codereview.chromium.org/8229009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-12 12:30:30 +00:00
rossberg@chromium.org
1abf3ed0a4
Introduce collective --harmony flag.
...
Shorten --harmony-block-scoping to --harmony-scoping.
R=keuchel@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8226017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-12 12:23:06 +00:00
erik.corry@gmail.com
3ce33aacc6
New flag --stress-compaction
...
Review URL: http://codereview.chromium.org/8234002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-11 15:52:15 +00:00
erik.corry@gmail.com
ba8a7f374e
Add --noclever-optimizations to disable some things that have
...
caused trouble in the past.
Review URL: http://codereview.chromium.org/8229005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-11 11:35:04 +00:00
erik.corry@gmail.com
f900fc9d80
Remove some unused and unneeded flags.
...
Review URL: http://codereview.chromium.org/8228004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-11 09:28:06 +00:00
yangguo@chromium.org
6792016261
Disabling string slices.
...
Review URL: http://codereview.chromium.org/8217006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-10 12:17:50 +00:00
yangguo@chromium.org
740f1e1c95
Enable string slices.
...
Review URL: http://codereview.chromium.org/8218002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-10 08:35:01 +00:00
erik.corry@gmail.com
6f833a35d5
Don't always compact when collecting.
...
Review URL: http://codereview.chromium.org/8124022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-04 09:12:02 +00:00
vegorov@chromium.org
3e9891c1d0
Enable code flushing for full (non-incremental) collections.
...
This will ensure that we will flush code when we hit memory limits.
R=erik.corry@gmail.com
BUG=v8:1609
Review URL: http://codereview.chromium.org/8060053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-29 13:51:47 +00:00
yangguo@chromium.org
acc105af91
Fix build with debuggersupport=off.
...
BUG=v8:899
Review URL: http://codereview.chromium.org/8073020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-29 08:55:36 +00:00
erik.corry@gmail.com
355a2bf0a8
Temporarily switch on always-compact to flush out crash bugs.
...
Review URL: http://codereview.chromium.org/8068001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-28 11:15:23 +00:00
vegorov@chromium.org
6dee868e03
Enable compaction, disable code-compaction.
...
Enable array-join test again.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8043022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 11:46:16 +00:00
vegorov@chromium.org
1046b1a464
Disable compaction.
...
Introduce flag to control code compaction.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/8037022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 08:53:27 +00:00
danno@chromium.org
f48c9f6557
Basic support for tracking smi-only arrays on ia32.
...
Activated by the flag --smi-only-arrays
Currently not crankshaft support, using flag on non-ia32 platforms will lead to write barrier misses and crashes.
BUG=none
TEST=elements_kind.js
Review URL: http://codereview.chromium.org/7901016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 11:30:04 +00:00
lrn@chromium.org
610281f4ee
Fix calculation of live-bytes in pages.
...
The "live bytes" count is *really* a "marked black" count - i.e., the count of bytes *known* to be live.
Fix aggravating bug on X64 where assembler code used a value that was off
by a factor of 2^31.
Ensure that sweeping clears live-bytes. Added other missing increments.
Added print statements to trace live-byte modifications, under a flag.
Still a few cases of undercounting left.
(New issue to merge from GC branch to bleeding_edge)
Review URL: http://codereview.chromium.org/7970009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 11:20:00 +00:00
vegorov@chromium.org
ac36cb4504
Merge experimental/gc branch to the bleeding_edge.
...
Review URL: http://codereview.chromium.org/7945009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 18:36:47 +00:00
yangguo@chromium.org
77141f78ff
Tentative implementation of string slices (hidden under the flag --string-slices).
...
TEST=test/mjsunit/string-slices.js
Review URL: http://codereview.chromium.org/7477045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 13:03:30 +00:00
keuchel@chromium.org
3c7ca304fe
Preliminary code for block scopes and block contexts.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7549008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 16:29:28 +00:00
rossberg@chromium.org
bd18514972
Implement Harmony semantics for typeof null (behind a flag).
...
Harmony is intended to make typeof null === "null". This may
break existing programs. Implementing it will allow us to run
some tests on the actual web.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7598030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 12:12:06 +00:00
mstarzinger@chromium.org
2bb7c74f80
Preliminary Harmony weak maps API implementation.
...
R=rossberg@chromium.org ,danno@chromium.org
BUG=v8:1565
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/7529007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 11:55:13 +00:00
whesse@chromium.org
b10a1141b5
Add tracing of the stack height to full code generator.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7097011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-28 10:17:41 +00:00
danno@chromium.org
d7641b89aa
Re-activate unboxed double arrays by default.
...
R=svenpanne@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7477047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-27 15:29:02 +00:00
ricow@chromium.org
b1115ec2d3
Revert r8719 - Enable unboxed double arrays by default.
...
It causes relibility bot crashes
Review URL: http://codereview.chromium.org/7461061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-25 10:24:14 +00:00
danno@chromium.org
e63813ec48
Enable unboxed double arrays by default.
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7491007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-22 09:48:54 +00:00
sgjesse@chromium.org
8a6108de95
Remove the ability to compile without logging and profiling
...
The preprocessor defines ENABLE_LOGGING_AND_PROFILING and ENABLE_VMSTATE_TRACKING has been removed as these where required to be turned on for Crankshaft to work. To re-enable reducing the binary size by leaving out heap and CPU profiler a new set of defines needs to be created.
R=ager@chromium.org
BUG=v8:1271
TEST=all
Review URL: http://codereview.chromium.org//7350014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-13 09:09:04 +00:00