Commit Graph

7998 Commits

Author SHA1 Message Date
danno@chromium.org
2120206520 MIPS: added --mips-arch-variant option to test.py.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9270005
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 12:37:59 +00:00
danno@chromium.org
adc196d86e Silence warning from presubmit lint script
R=yangguo@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9234025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 12:32:05 +00:00
svenpanne@chromium.org
6859247172 Do not follow accessor map transitions when marking descriptor arrays.
Note that we currently have no such transitions, but we will in the future, and
we have to avoid keeping maps live too long.

Review URL: https://chromiumcodereview.appspot.com/9212045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 08:50:55 +00:00
svenpanne@chromium.org
891f0efa3f Handle map transitions in CALLBACKS when doing map tree traversal.
We will have such transitions in the future and this CL is necessary to keep
slack tracking working then.

Review URL: https://chromiumcodereview.appspot.com/9285008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 07:26:07 +00:00
kmillikin@chromium.org
12f982cf6a Include what you use in accessors.{h,cc}.
R=fschneider@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9113041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 00:16:07 +00:00
jkummerow@chromium.org
6c85119c6a Fix building with clang
BUG=v8:1912

Review URL: https://chromiumcodereview.appspot.com/9285013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 16:36:55 +00:00
erik.corry@gmail.com
be288cf2b4 Initially unmap one of the semispaces to reduce memory use at boot time.
Review URL: https://chromiumcodereview.appspot.com/9117035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 16:00:19 +00:00
erik.corry@gmail.com
ee1d0fc5c6 Reduce the space used by the stack for the profiling thread.
Review URL: https://chromiumcodereview.appspot.com/9117032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 15:48:16 +00:00
rossberg@chromium.org
1a10995a9d Fix JS2C, so that macros with multiple parameters actually WORK.
R=svenpanne@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9146035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 14:29:02 +00:00
erik.corry@gmail.com
b0607b7127 Fix bug 542, misleading documentation of v8::Locker.
Review URL: https://chromiumcodereview.appspot.com/9160028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 13:07:21 +00:00
yangguo@chromium.org
22f97d99be Fix shared library build.
Review URL: https://chromiumcodereview.appspot.com/9117028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 12:10:28 +00:00
yangguo@chromium.org
4aa558f22d Introduce readbinary function in d8 to read binary files.
Review URL: https://chromiumcodereview.appspot.com/9283015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 11:55:11 +00:00
vegorov@chromium.org
d16c6a9874 Fix Win64 compilation failure introduced by r10483.
R=erik.corry@gmail.com

Review URL: https://chromiumcodereview.appspot.com/9284017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 09:05:15 +00:00
vegorov@chromium.org
189aee91de Untabify test/mjsunit/debug-evaluate-locals-optimized-double.js.
TBR=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9284016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 08:48:33 +00:00
vegorov@chromium.org
04289e8d17 Support inlining at call-sites with mismatched number of arguments.
Review URL: https://chromiumcodereview.appspot.com/9265004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 08:43:12 +00:00
fschneider@chromium.org
0b3ce1dd9e Remove unnecessary IGNORE policy from Lithium operands.
1. This policy was only used for unused spill operands. I'm assigning
an INVALID LOperand to those instead. As a result, we only need
3 bits to encode the policy and have one more available for virtual
registers.

2. Furthermore, corrected the calculation of the maximal number of virtual
registers and changed the upper limit for the size of the Hydrogen IR
accordingly.

3. Doubled the maximal number of deoptimization entries to 8K.
Review URL: http://codereview.chromium.org/9160018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 02:13:28 +00:00
fschneider@chromium.org
c6e1d11885 Put a slow assert under the enable_slow_asserts flag.
Otherwise really large functions take too long to compile
in debug mode.
Review URL: http://codereview.chromium.org/9212040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 01:46:26 +00:00
fschneider@chromium.org
2284996cc1 Add range information to external array loads.
Review URL: http://codereview.chromium.org/9226014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 18:11:36 +00:00
erik.corry@gmail.com
83b439a0f9 Further robustify the keyed lookup cache against unlucky hash
seeds.  This change is performance neutral on most snapshot
VM builds, but provides a big improvement on string-fasta
on around 5% of builds.
Review URL: https://chromiumcodereview.appspot.com/9193015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 16:18:10 +00:00
jkummerow@chromium.org
5da21118e8 Prepare push to trunk. Now working on version 3.8.9.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9270044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 14:34:49 +00:00
svenpanne@chromium.org
fd2731a7e6 Replaced LookupResult::IsProperty by LookupResult::IsFound where possible.
Yak shaving for map sharing with accessor properties contd.: When CALLBACKS can
have map transitions, simply looking at the property type is not sufficient
anymore to decide if a property is there or not. One has to look at the actual
contents of the descriptor entry then, but this breaks down sometimes when the
lookup is being done with a NULL holder. Luckily enough, we can oftren replace
IsProperty by the simpler IsFound, because we inspect the type immediately
afterwards, anyway.

Review URL: https://chromiumcodereview.appspot.com/9280007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 12:01:47 +00:00
svenpanne@chromium.org
e2af8fd68a Refactored iterative map traversal.
The main goal is to cleanly separate between the several parts involved in the traversal:

 * iterating over all transitions in a descriptor array

 * iterating over all prototype transitions

 * storing the parent and the current local traversal position in a map

 * the iterative traversal algorithm itself

The previous algorithm for iterating over prototype transitions did a little bit too much here, iterating over the whole array instead only the filled part. This has been fixed on the way, too.

With this CL, it will be much easier to make the necessary changes to the descriptor array iterator to correctly handle map transitions for accessor properties. Furthermore, perhaps we represent transitions a bit different in the future, making finding them a bit easier. This would make some code in this CL (and elsewhere) quite a bit shorter and more efficient.

Review URL: https://chromiumcodereview.appspot.com/9252007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 10:50:14 +00:00
yangguo@chromium.org
504fff1118 Cleaning up after r10471.
Review URL: https://chromiumcodereview.appspot.com/9193007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 08:39:49 +00:00
yangguo@chromium.org
bc091f31c8 Removing experimental i18n code from v8 repository. Internationalization support is hosted under code.google.com/p/v8-i18n for couple months now.
TEST=Chromium/WebKit builds should pass.

Review URL: https://chromiumcodereview.appspot.com/9016034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 08:09:22 +00:00
vegorov@chromium.org
8c776261c2 Limit number of loop iterations in Heap::ReserveSpace.
This allows to avoid infinite loops in pathalogical cases e.g. when OS refuses to give new pages to V8.

R=erik.corry@gmail.com
BUG=99027

Review URL: https://chromiumcodereview.appspot.com/8286020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 17:21:26 +00:00
yangguo@chromium.org
11e779185b Parallelize cpplint in presubmit and fix usage of DISALLOW_* macros.
BUG=v8:1653

Review URL: https://chromiumcodereview.appspot.com/9192010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 16:17:08 +00:00
danno@chromium.org
e9139ffa71 Remove stray GVN flag in TransitionElementsKind
TBR=mstarzinger@chromium.org
BUG=none
TEST=build turns green

Review URL: https://chromiumcodereview.appspot.com/9270010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 15:55:06 +00:00
yangguo@chromium.org
89591097aa Fix solaris build (VirtualMemory).
BUG=v8:1761
TEST=

Review URL: https://chromiumcodereview.appspot.com/9233002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 15:43:38 +00:00
svenpanne@chromium.org
ed4343d982 Removed IsPropertyOrTransition method.
It had only 2 uses: One use could be rewritten in a simpler way, and the other
is actually more readable after inlining and fixing the comments.

Review URL: https://chromiumcodereview.appspot.com/9233006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 15:10:35 +00:00
danno@chromium.org
960923078b MIPS: Make sure transitioned arrays efficiently call builtin Array functions
Port r10356 (69da81).

Original commit message:
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9265007
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 14:17:26 +00:00
danno@chromium.org
8d741a9add Split GVN flags from flags in Hydrogen instructions.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9233005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 14:08:20 +00:00
rossberg@chromium.org
c61665604b Fix handling of function proxies in higher-order array and string methods,
which use yet another way to determine strict vs non-strict function receivers.

R=kmillikin@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9270004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 13:59:37 +00:00
erik.corry@gmail.com
9672a04de2 Fix keyed lookup cache to have 2 entried per bucket instead
of one in order to reduce collisions.
Review URL: https://chromiumcodereview.appspot.com/9269004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 13:43:21 +00:00
vegorov@chromium.org
1f4ec772f7 MIPS: Change inlined cache of intanceof stub to use indirection through cell.
Port r10380 (46f646).

Original commit message:
The stub was directly patching caller's code without issuing write barrier which violated incremental marking invariants.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9159008
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 12:50:39 +00:00
vegorov@chromium.org
4de11a7bee MIPS: Allow call-known-global and call-constant-function to be used
for call-sites with mismatched number of arguments.

Port r10424 (92a05c9c).

Original commit message:
Adjust InvokeFunction to avoid generating dead code when number when arity mismatch is detected in compile time.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9150026
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 12:49:43 +00:00
mstarzinger@chromium.org
5c92e4f1c3 Add regression test for r10451.
R=vegorov@chromium.org
TEST=cctest/test-heap/PrototypeTransitionClearing

Review URL: https://chromiumcodereview.appspot.com/9138016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 12:44:04 +00:00
yangguo@chromium.org
af98ee9492 Enable asynchronous remote debugging with d8.
BUG=v8:1691
TEST=

Review URL: https://chromiumcodereview.appspot.com/9138015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 11:59:00 +00:00
mstarzinger@chromium.org
dffb78e312 Fix missing write-barrier for prototype transitions.
R=vegorov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9150041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 18:50:01 +00:00
yangguo@chromium.org
8e7194e62e Fix shared library build.
Review URL: https://chromiumcodereview.appspot.com/9265010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 17:04:34 +00:00
yangguo@chromium.org
41b7c56031 Fix remote debugger crash.
Review URL: https://chromiumcodereview.appspot.com/9200006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 16:52:16 +00:00
ulan@chromium.org
4f882a86a4 Prepare push to trunk. Now working on version 3.8.8.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9264011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 15:28:48 +00:00
jkummerow@chromium.org
606c996a67 Revert "Immediately use the generic stub when storing into COW arrays"
Due to unexpected performance implications.

This reverts r10429.

Review URL: https://chromiumcodereview.appspot.com/9150032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 14:58:54 +00:00
erik.corry@gmail.com
d4cf1699ec Add missing SmiUntag for string hash calculation in
in-snapshot code on IA32.
Review URL: https://chromiumcodereview.appspot.com/9254027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 14:43:25 +00:00
erik.corry@gmail.com
ae698e73f4 MIPS: Use shift and add instead of mul on ARM for integer hash. This is a commit of http://codereview.chromium.org/9192011/ for Daniel Kalmar
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 14:08:48 +00:00
erik.corry@gmail.com
60f1618970 Add an assert to the serializer.
Review URL: https://chromiumcodereview.appspot.com/9159010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:51:45 +00:00
kmillikin@chromium.org
b571bd2ce9 MIPS: Fix for an ARM register allocation bug.
Port r10374 (03bbe39).

Note: the MIPS version was not affected by the bug. This is merely a style cleanup.

Original commit message:
An off-by-one in the register allocator could lead to allocating (and
clobbering) the reserved 0.0 double register.  This required a function with
14 or more live double values.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9150025
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:41:11 +00:00
mstarzinger@chromium.org
77f6a6fc31 Fix prototype transition clearing during full GC.
R=vegorov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9195008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:38:37 +00:00
erik.corry@gmail.com
504ef4f243 Robustify the clearing of the cache of map-related ICs on the map.
Review URL: https://chromiumcodereview.appspot.com/9159009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:22:16 +00:00
fschneider@chromium.org
48a24b9224 MIPS: Tiny improvement of register constraints in LClassOfTest instructions.
Port r10379 (3399d6).

Original commit message:
The input register does not need to be made writable. We already
allocate enough temp registers and the input register will always
be preserved.

BUG=
TEST=
Review URL: http://codereview.chromium.org/9254025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:07:46 +00:00
yangguo@chromium.org
5b81bd0f0c MIPS: Inlining Math.min and Math.max in crankshaft.
Port r10391 (7900f3c).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9195009
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 12:42:20 +00:00