yangguo@chromium.org
748f8bf7e1
Optimize inner-loop in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11234031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 09:05:56 +00:00
jkummerow@chromium.org
5677ee6565
Fix tools/run-tests.py --report when tests are specified on the command line
...
Review URL: https://codereview.chromium.org/11189136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 08:59:53 +00:00
mstarzinger@chromium.org
cee59bf522
Enable incremental code flushing.
...
This enables code flushing even with incremental marking enabled and
fully shares the function link field in JSFunctions between candidates
for code flushing and the optimized functions list. If a candidate for
code flushing gets optimized, it will be evicted from the candidates
list.
R=ulan@chromium.org
BUG=v8:1609
Review URL: https://codereview.chromium.org/11140025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 08:25:04 +00:00
verwaest@chromium.org
362e8cb02a
Pretenure JSON graph if the input string is larger than 100*1024 chars.
...
Review URL: https://chromiumcodereview.appspot.com/11238031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 08:06:28 +00:00
alexeif@chromium.org
b882786349
Add a type conversion to fix Windows build after r12793
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11227034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 18:25:10 +00:00
mstarzinger@chromium.org
37759f4d64
Implement committed physical memory stats for Linux.
...
The patch introduces CommittedPhysicalMemory function to
the Heap class that reports committed *physical* memory acquired
for the heap from the OS.
It is important because some OSes may defer actual committment on e.g.
first access to the region.
So reporting just plain committed size led to various weird artifacts
like showing V8 allocated memory higher than the whole process
private size.
BUG=v8:2191
Review URL: https://codereview.chromium.org/11066118
Patch from Alexei Filippov <alph@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 16:33:10 +00:00
ulan@chromium.org
3c864d3e79
Fix warnings about tautological compares by recent Clang versions.
...
This fixes the following Clang warnings:
../../v8/src/ia32/assembler-ia32.cc:1504:24: warning: comparison of constant 16 with expression of type 'v8::internal::Condition' is always true [-Wtautological-constant-out-of-range-compare]
ASSERT(0 <= cc && cc < 16);
~~~~~~~~~~~~~~~~~~~~~^~~~~
../../v8/src/ia32/assembler-ia32.cc:1536:27: warning: comparison of constant 16 with expression of type 'v8::internal::Condition' is always true [-Wtautological-constant-out-of-range-compare]
ASSERT((0 <= cc) && (cc < 16));
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
BUG=crbug.com/151927
Review URL: https://chromiumcodereview.appspot.com/11225030
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 15:59:58 +00:00
ulan@chromium.org
d247c5e6c7
Change constant pool marker to be the unconditional, permanently undefined instruction.
...
The previously-used instruction isn't guaranteed to always be undefined,
and the encoding used was conditional (failing the condition on an
undefined instruction is itself undefined and not guaranteed to
fault!). I would have like to use a more clever encoding (see bug 2963),
but we need the extra bits to encode the size of the constant pool.
BUG=security
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11242002
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 15:25:17 +00:00
yangguo@chromium.org
e50ee08ad6
Reland JSON.stringify reimplementation.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11189112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 14:22:58 +00:00
jkummerow@chromium.org
5ea870f855
tools/run-tests.py: A few timeout-related fixes
...
Review URL: https://codereview.chromium.org/11230029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 14:13:01 +00:00
rossberg@chromium.org
f923250daf
Prepare push to trunk. Now working on version 3.14.6.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11189113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 13:09:01 +00:00
mstarzinger@chromium.org
34d98a804d
Fix deletion of hidden property with inline-stored hash.
...
R=yangguo@chromium.org
BUG=chromium:157124
TEST=cctest/test-api/Regress157124
Review URL: https://codereview.chromium.org/11233033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 12:50:51 +00:00
danno@chromium.org
f07b229104
MIPS: Use movw/movt instead of constant pool on ARMv7.
...
Port r12755 (5d62d66e)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11232036
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 11:15:09 +00:00
yangguo@chromium.org
e41250a390
Revert r12760 (JSON.stringify).
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11225026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 11:11:22 +00:00
yangguo@chromium.org
3c5e899378
Fix two-char hash to use correct fallback for zero hashes.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11228004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 10:38:40 +00:00
mstarzinger@chromium.org
c71c3cfd65
Fix typo in Makefile in ARM VFP support flag.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11235026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 10:00:28 +00:00
ulan@chromium.org
18ff15ca8c
Speed up function deoptimization by avoiding quadratic pass over optimized function list.
...
R=danno@chromium.org
BUG=155270
Review URL: https://chromiumcodereview.appspot.com/11189091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 09:48:56 +00:00
verwaest@chromium.org
d33cda9338
Micro-optimizing the json parser
...
Review URL: https://chromiumcodereview.appspot.com/11237002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 15:37:28 +00:00
verwaest@chromium.org
4f40326fae
Fast path for searching through simple transitions
...
Review URL: https://chromiumcodereview.appspot.com/11189089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 15:03:27 +00:00
yangguo@chromium.org
06f7d1c92c
Improve ClampDoubleToUint8 on ia32/x64.
...
It's measured faster when:
a) clamp never happens;
b) clamp random happens ([-128,384], pseudo random).
Review URL: https://chromiumcodereview.appspot.com/11190049
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 13:20:22 +00:00
verwaest@chromium.org
c9e86f4b69
Remove scratch register requirement from LoadInstanceDescriptors on arm and mips.
...
Review URL: https://chromiumcodereview.appspot.com/11193022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 12:39:59 +00:00
yangguo@chromium.org
8148f972e8
Stress GC less by allocating exponentially growing string chunks in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11232002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 12:39:43 +00:00
yangguo@chromium.org
f910052543
Always invoke the default Array.sort functions from builtin functions, part 2.
...
R=vegorov@chromium.org
BUG=v8:2372
Review URL: https://chromiumcodereview.appspot.com/11175007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 12:30:18 +00:00
danno@chromium.org
063609280e
Add a faster API for creating v8::Integer objects
...
In WebKit, we have a small integer cache because calling v8::Integer::New is
slow. This patch adds a faster API for creating integers that requires the
caller to supply the v8::Isolate, saving us the work of looking up the isolate
in thread-local storage.
BUG=
Review URL: https://codereview.chromium.org/11212004
Patch from Adam Barth <abarth@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 11:15:04 +00:00
verwaest@chromium.org
a0c9856bce
Get the target field index when transitioning.
...
Review URL: https://chromiumcodereview.appspot.com/11194080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 10:48:18 +00:00
danno@chromium.org
ace5bf3f94
Fix ARM dissambler test problems with movw/movt.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/11198061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 10:44:56 +00:00
ulan@chromium.org
c6feb5065c
Fix test runner for Android.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11193055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 09:55:27 +00:00
ulan@chromium.org
06a9f51ccb
Adjust Android test expectations.
...
Disable long running tests:
- test-threads/ThreadJoinSelf in release and debug modes.
- regress/regress-1122 in debug mode.
Disable failing test:
- preparser/strict-octal-regexp (v8 issue 2265).
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11185073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 09:28:23 +00:00
yangguo@chromium.org
5fa8f2f485
Pass pending exception to the message listener.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11014017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 08:45:24 +00:00
svenpanne@chromium.org
6dc35811af
Fixed directory ignorance involving symlinks.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11198082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 08:40:50 +00:00
verwaest@chromium.org
fa53250dd2
Fixed json regression
...
BUG=v8:2374
Review URL: https://chromiumcodereview.appspot.com/11186059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 08:23:45 +00:00
verwaest@chromium.org
7bc94a92c5
Fixed error introduced in r12761.
...
BUG=2373
Review URL: https://chromiumcodereview.appspot.com/11198068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 18:43:19 +00:00
verwaest@chromium.org
7ce3a4021d
Static cast char* diff to int.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11200004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 15:57:45 +00:00
ulan@chromium.org
d558d1e522
Disable GDBJIT support by default in Debug mode.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11195043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 15:26:37 +00:00
verwaest@chromium.org
d04a1fff1f
Keep track of the first non-ascii word/char to avoid redoing the work.
...
Review URL: https://chromiumcodereview.appspot.com/11194053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 15:08:11 +00:00
verwaest@chromium.org
852de2e1ab
Adding a fast path for parsing index keys.
...
Reduces overhead on http://code.google.com/p/chromium/issues/detail?id=156379 from 360ms down to 255ms.
Review URL: https://chromiumcodereview.appspot.com/11189039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 14:44:40 +00:00
yangguo@chromium.org
7a653c1675
Reimplement a simpler version of JSON.stringify.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11186025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 14:42:26 +00:00
danno@chromium.org
4431e0c54e
Put more constants in movw/movt instructions
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/11185052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 14:37:04 +00:00
jkummerow@chromium.org
230bec1274
Use tools/run-tests.py for "check" targets in the top-level Makefile.
...
Bonus content: a few minor fixes for run-tests.py
Review URL: https://codereview.chromium.org/11184039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 14:21:35 +00:00
yangguo@chromium.org
a7f3edb818
Make sure the fast case of ScanJsonString bails out to the slow case correctly.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11185050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 13:15:05 +00:00
jkummerow@chromium.org
23df9b9d28
Kill off the SCons based build.
...
Review URL: https://codereview.chromium.org/11188058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 13:07:41 +00:00
danno@chromium.org
43e248d2e5
Use movw/movt instead of constant pool on ARMv7.
...
Some ARM architectures load 32-bit immediate constants more efficiently using movw/movt pairs rather than constant pool loads. This patch allows the assembler to generate one or the other load form at runtime depending on what is faster.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/11037023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 12:21:42 +00:00
danno@chromium.org
9d43ff71b8
Avoid unnecessary code target changes during code compaction.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/11198032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 12:01:36 +00:00
verwaest@chromium.org
a38af4256c
Fix typo in fast path for scanning json strings.
...
Review URL: https://chromiumcodereview.appspot.com/11191055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 11:47:06 +00:00
fschneider@chromium.org
971e834a8d
Always invoke the default Array.sort functions from builtin functions.
...
TEST=mjsunit/regress/regress-builtin-array-op.js
BUG=v8:2372
Review URL: https://chromiumcodereview.appspot.com/10559005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 11:18:08 +00:00
svenpanne@chromium.org
b54750c60f
Added a workaroung for a GCC visibility bug.
...
Movef a helper class to the top level to avoid
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40145 .
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/11194050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 07:22:24 +00:00
svenpanne@chromium.org
9dc2c5b83d
Add an API for enumerating persistent handles
...
This API lets the embedder enumerate handles that have class ids. WebKit will
use this feature during garbage collection to compute object groups for DOM
nodes. Previously, we kept a list of DOM nodes on the WebKit side, but that
list is redundant with the global handles list in V8.
Review URL: https://codereview.chromium.org/11190011
Patch from Adam Barth <abarth@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 06:52:37 +00:00
danno@chromium.org
966b08440c
MIPS: Fix compilation under clang.
...
Clang is a little more picky than gcc on unused variable
warnings, which become errors with -Werror. Clean up
these cases for mips.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11175005
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-17 14:20:43 +00:00
verwaest@chromium.org
b61933ba10
Eagerly follow transitions to existing maps while json parsing.
...
Review URL: https://chromiumcodereview.appspot.com/11184006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-17 14:09:42 +00:00
verwaest@chromium.org
72424b3987
Move DescriptorArray into the map.
...
Review URL: https://chromiumcodereview.appspot.com/11188031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-17 13:04:49 +00:00