Commit Graph

6600 Commits

Author SHA1 Message Date
ager@chromium.org
2b286a3128 Remove --strict developer flag from V8.
It makes V8 not have JavaScript semantics by throwing exception all
the time. Even our own natives JavaScript code cannot run using that.

R=ricow@chromium.org
BUG=v8:1511

Review URL: http://codereview.chromium.org/7248056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 06:58:13 +00:00
ager@chromium.org
90a01f626d Update test expectations for sputnik to match new revision.
We should coordinate landing this with an update of the tests on the
buildbots.

R=ricow@chromium.org

Review URL: http://codereview.chromium.org/7280006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 06:10:12 +00:00
vitalyr@chromium.org
150cc3fc33 ll_prof: Terminate mmap file names on the first NUL char.
R=fschneider@chromium.org

Review URL: http://codereview.chromium.org/7282011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 15:34:00 +00:00
vitalyr@chromium.org
90c9f1b989 Suspend runtime profiler as soon as we exit JS.
Lots of web pages have really frequently firing timers that keep the
profiler thread spinning if we require a period of JS inactivity
before suspending the profiler. While it's possible to throttle it by
increasing the sleep delay and adjusting the duration of the required
inactive period, it seemed much simpler to just stop it immediately on
exiting JS.

Stopping the profiler this way effectively turned off two optimization
heuristics: 1) eager optimization (it's reset on waking up the
profiler and now the profiler wakes up much more frequently) and 2)
optimization throttling based on JS to non-JS state ratio (the ratio
is now 100%). I removed these two heuristics and found no performance
regressions so far.

R=ager@chromium.org
BUG=crbug.com/77625
TEST=none

Review URL: http://codereview.chromium.org/7274024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 14:56:08 +00:00
jkummerow@chromium.org
d2f08851f0 Fix build on x64
Review URL: http://codereview.chromium.org/7284011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 14:28:41 +00:00
svenpanne@chromium.org
b6869174c6 Simplify EmitCallIC.
Move the identification of the corresponding StatsCounter where it belongs,
namely into the Code class. Use the null pattern to signal "no inlined Smi
code". Removed a few unused counters.
Review URL: http://codereview.chromium.org/7273066

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:43:24 +00:00
sgjesse@chromium.org
c4f28bf274 Temporarily add more test output to help locate test failure
R=ricow@chromium.org

BUG=none
TEST=none

Review URL: http://codereview.chromium.org//7250002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:40:23 +00:00
jkummerow@chromium.org
6cd99953f1 Using KeyedStoreIC_Generic_Strict must prevent polymorphic case.
TEST=Fewer deopts in existing tests.

Review URL: http://codereview.chromium.org/7282007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:32:27 +00:00
sgjesse@chromium.org
3878096ed8 Fix compilation of all combinations of disassembler=on/off and objectprint=on/off
R=jkummerow@chromium.org

BUG=v8:1473
TEST=none

Review URL: http://codereview.chromium.org//7269002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:17:02 +00:00
sgjesse@chromium.org
7d2be7c0e0 Support debugger inspection of locals in optimized frames
Optimized frames are now handled by the debugger. When discovering optimized frames during stack inspection in the debugger they are "deoptimized" using the normal deoptimization code and the deoptimizer output information is used to provide frame information to the debugger.

Before this change the debugger reported each optimized frame as one frame no matter the number of inlined functuions that might have been called inside of it. Also all locals where reported as undefined. Locals can still be reposted as undefined when their value is not "known" by the optimized frame.

As the structures used to calculate the output frames when deoptimizing are not GC safe the information for the debugger is copied to another structure (DeoptimizedFrameInfo) which is registered with the global deoptimizer data and processed during GC.

R=fschneider@chromium.org

BUG=v8:1140
TEST=test/mjsunit/debug-evaluate-locals-optimized*

Review URL: http://codereview.chromium.org//7230045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:02:00 +00:00
vegorov@chromium.org
cd9356baa6 Prepare push to trunk. Now working on 3.4.9.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7282005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 11:21:23 +00:00
svenpanne@chromium.org
ac7fca826d Simplify the way we call UnaryOpStubs, saving one unused no-op after the call itself.
Review URL: http://codereview.chromium.org/7280005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 11:12:12 +00:00
sandholm@chromium.org
f9c82bf3a3 Improve JSON.parse to use less memory when using escaped and non-ascii
characters.
Review URL: http://codereview.chromium.org/7241023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 10:54:20 +00:00
sgjesse@chromium.org
39ed137e10 ARM: Improve register allocation and constraints (try 2).
Gives ~20% boost for Crypto benchmark on A9.

BUG=none
TEST=added to mjsunit/div-mod.js

Review URL: http://codereview.chromium.org//7276034
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 10:51:06 +00:00
jkummerow@chromium.org
6f66664386 Error checking for length parameter of external array constructors in shell
BUG=v8:1501

Review URL: http://codereview.chromium.org/7268002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 10:27:14 +00:00
yangguo@chromium.org
61c7b030e9 reverting revision r8454
Review URL: http://codereview.chromium.org/7218042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:45:22 +00:00
erik.corry@gmail.com
f8fdc62c19 Improvement to SmiLexicalCompare. Landing http://codereview.chromium.org/7261008 for Stephen Adams
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:35:10 +00:00
kmillikin@chromium.org
81e8b42e1b Fix lint failure.
TBR=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7284004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:32:12 +00:00
yangguo@chromium.org
e6dbce1190 added the --test option for d8 into tools/test.py
TEST= tools/test.py --shell d8 -v

Review URL: http://codereview.chromium.org/7272028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:22:36 +00:00
kmillikin@chromium.org
96bbcaf416 Explicitly pass the closure when allocating a catch or with context.
Before: allocation of a catch or with context fetched the closure to store
in the context from the previous context in the context chain.  Now: the
closure is passed explicitly.

R=ager@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7275022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 07:41:42 +00:00
kmillikin@chromium.org
5e7da7f04f Remove the fcontext field from all contexts.
Before: every context cached the nearest enclosing function context.  This
assumed that for nested contexts (i.e., with and catch contexts) the
enclosing function had a materialized link in the context chain.

Now: when necessary, we loop up the context chain to find such a context.
This enables catch contexts without forcing the enclosing function to
allocate its own context.

R=ager@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7230047

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 15:22:08 +00:00
fschneider@chromium.org
2760bd2927 Slightly improved register assignment for %_IsObject on IA32 and ARM.
The new approach uses one temp register instead of two on IA32. The ARM
instructions are modified so the input can be UseAtStart again.
Review URL: http://codereview.chromium.org/7274025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 14:21:55 +00:00
kmillikin@chromium.org
e859416b9f Better placement of argument pushing for a few hydrogen call instructions.
Where it's simple to do so (keyed calls, calls to unknown global variables,
calls to local variables and non-property/non-variable expressions), end the
live range of argument subexpressions immediately after the last use of the
expression rather than at the call.

R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7274020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 12:51:21 +00:00
keuchel@chromium.org
3f70c456eb Fix "illegal access" when calling parseInt with a radix that is not a smi.
BUG=v8:1246
TEST=regress-1246.js

Review URL: http://codereview.chromium.org/7206019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 12:31:42 +00:00
fschneider@chromium.org
c9eefb3f88 Fix bug in register assignment of IsObjectAndBranch.
Make sure that input and temp registers don't overlap.
Review URL: http://codereview.chromium.org/7273026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 09:09:07 +00:00
ager@chromium.org
3f6043d370 Cleanup to HEnvironment::CopyForInlining
* src/hydrogen.cc (HEnvironment::CopyForInlining): As the code for both
  the ::HYDROGEN and ::LITHIUM compilation phases is the same, just use
  one code path and remove the arg.

* src/hydrogen.h (HEnvironment): Remove now-unused CompilationPhase
  enum type and arg to CopyForInlining.

* src/arm/lithium-arm.cc (LChunkBuilder::DoEnterInlined):
* src/ia32/lithium-ia32.cc (LChunkBuilder::DoEnterInlined):
* src/x64/lithium-x64.cc (LChunkBuilder::DoEnterInlined): Adapt
  callers.

* AUTHORS: Add Igalia.

BUG=
TEST=I ran tools/test.py.

Review URL: http://codereview.chromium.org/7272002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 08:54:09 +00:00
fschneider@chromium.org
b59f2b700b Fix a bug in %_GetCachedArrayIndex.
This inline runtime function had the wrong super class.
It did not cause any problems since it is only used in
our natives and never in a test context.
Review URL: http://codereview.chromium.org/7253004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 08:49:01 +00:00
sgjesse@chromium.org
26e53ac042 MIPS: port Fix receiver check in arguments ICs.
Ported r8429 (60a2787)

BUG=
TEST=

Review URL: http://codereview.chromium.org//7276027
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:54:01 +00:00
sgjesse@chromium.org
b6afa34afa MIPS: Long branch implementation and trampoline improvement.
Improve the branch and branch-trampoline mechanism to automatically
use long-jumps when function size grows large. Reduce size of emitted
trampoline pools.

Now passes mozilla regress-80981.js.

BUG=
TEST=

Review URL: http://codereview.chromium.org//7239020
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:31:42 +00:00
ager@chromium.org
614e542869 Ensure 16-byte stack alignment on Solaris.
GCC generates instructions such as movdqa that requires 16-byte alignment.

R=ricow@chromium.org
BUG=v8:1505
TEST=

Review URL: http://codereview.chromium.org/7277031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:07:09 +00:00
ager@chromium.org
a8e4b0cfb1 Prepare push to trunk. Now working on version 3.4.8.
R=sgjesse@chromium.org

Review URL: http://codereview.chromium.org/7235025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 13:16:07 +00:00
ager@chromium.org
89cc886ba7 Fix receiver check in arguments ICs.
The receiver needs to be checked in the same way as all other KeyedLoadICs to take non-JSObject and objects that require access checks or has interceptors into account.

R=sgjesse@chromium.org
BUG=87478
TEST=mjsunit/regress/regress-crbug-87478.js

Review URL: http://codereview.chromium.org/7259015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 13:02:51 +00:00
sgjesse@chromium.org
54d6072332 Change the handling of stack check on backward branches
The hydrogen stack check instruction is now added to each loop and the stack check handling on the back edge has been removed.

This change causes regression on small tight loops as the stack check is now at the top of the loop instead of at the bottom, and that requires one additional unconditional jump per loop iteration. However the reason for this change is to avoid worse regressions for upcoming changes to correctly support debugger break in optimized code.

R=fschneider@chromium.org

BUG=none
TEST=none

Review URL: http://codereview.chromium.org//7216009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 12:12:27 +00:00
sgjesse@chromium.org
b7850c06d1 MIPS: port Better codegen for '<expression> === void <literal>'.
Ported r8420 (fd2ddbb)

Original commit message:
Detect the pattern in both, the full compiler and crankshaft and generate direct pointer
comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons
as well by lifting platform independent code and checking the symmetric case.
BUG=v8:1440
TEST=cctest/test-api.cc

Review URL: http://codereview.chromium.org//7262026
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 10:45:54 +00:00
lrn@chromium.org
fb4a2d160d Cleanup of return types and names in factory.
Review URL: http://codereview.chromium.org/7240025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 09:02:34 +00:00
sgjesse@chromium.org
17c2a7a5ed MIPS: update missing write barrier for arguments store ICs, per comments.
Per review comments in http://codereview.chromium.org/7238020 after
issue was closed, we had used an un-necessary Add, which is removed here.
Thanks for the suggestion.

BUG=
TEST=

Review URL: http://codereview.chromium.org//7259010
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 08:56:25 +00:00
yangguo@chromium.org
310ed9ebba removed some unnecessary stuff from d8's initialization
and got rid of the utility context unless interactive shell is used

Review URL: http://codereview.chromium.org/7219003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 20:04:32 +00:00
cira@chromium.org
ab2c0d4503 Change timeType and dateType in i18n date format API into timeStyle and dateStyle to match the proposal.
I've kept old keys too, until ChromeOS user switches to time/dateStyle.

Fixed regex for matching styles in date and number format.

TEST=i18n.kaziprst.org/datetimeformat.html should show proper results for both timeType and timeStyle.
Review URL: http://codereview.chromium.org/7244008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 16:58:28 +00:00
keuchel@chromium.org
5d8443c4cb Updated test expectations of future reserved keyword tests.
Review URL: http://codereview.chromium.org/7237027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 16:54:47 +00:00
keuchel@chromium.org
ab3d4cf7b8 Proper handling of future reserved words in strict and normal mode.
BUG=86442
TEST=mjsunit/keywords-and-reserved_words.js

Review URL: http://codereview.chromium.org/7207007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 14:59:51 +00:00
keuchel@chromium.org
628a2e2a1f Better codegen for '<expression> === void <literal>'.
Detect the pattern in both, the full compiler and crankshaft and generate direct pointer
comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons
as well by lifting platform independent code and checking the symmetric case.

BUG=v8:1440
TEST=cctest/test-api.cc

Review URL: http://codereview.chromium.org/7216008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 14:30:10 +00:00
sandholm@chromium.org
22abf6a579 Check for empty substring.
Review URL: http://codereview.chromium.org/7237023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 13:44:27 +00:00
sgjesse@chromium.org
b55a673177 MIPS: Minor bug fixes to macro-asm and simulator.
3 small fixes:
  - Fix erroneous use of reg t6 in macro-assembler.
  - Minor optimization to overflow-check macros.
  - Fix un-init var use (typo) in simulator FPCall handling.

None of these affected test cases.

BUG=
TEST=

Review URL: http://codereview.chromium.org//7236025
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 13:23:18 +00:00
vegorov@chromium.org
9310a8d78f Fix three GC unsafe places found by gcmole's dead_vars analysis.
Review URL: http://codereview.chromium.org/7247013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 12:04:14 +00:00
mikhail.naganov@gmail.com
f4bf8f8fee Remove obsolete aggregating and non-working producers heap profilers.
2000 LOC are gone!

R=sgjesse@chromium.org
BUG=1481

Review URL: http://codereview.chromium.org/7247018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 11:38:47 +00:00
sgjesse@chromium.org
94e5f2f35a MIPS: port Add missing write barrier for arguments store ICs.
Ported r8390 (52d4605)

BUG=
TEST=

Review URL: http://codereview.chromium.org//7238020
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 08:46:57 +00:00
sgjesse@chromium.org
2f64c849f2 MIPS: Fix a bug in MacroAssembler::CheckFastElements.
This fixes 3 mjsunit tests when running with --stress-opt: object-freeze,
object-prevent-extensions, object-seal.

Original commit was 54ce3d60 (r8176).

BUG=
TEST=

Review URL: http://codereview.chromium.org//7236024
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 08:26:47 +00:00
ricow@chromium.org
840e31a0b3 Add regression test for optimized version of Math.abs.
This issue was already fixed on bleeding edge, but adding regression
test to get coverage and to make sure it works on the branches.
Review URL: http://codereview.chromium.org/7237022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 07:46:57 +00:00
sgjesse@chromium.org
1d53788e7e Revert "ARM: Improve register allocation and constraints."
This reverts r8381.

It was causing Mozilla test mozilla/ecma/Date/15.9.3.8-5 to fail and Sputnik tests S15.9.3.1_A5_T5, S15.9.3.1_A5_T1, S15.9.3.1_A5_T2, S15.9.3.1_A5_T4, S15.9.3.1_A5_T3 and S15.9.3.1_A5_T6 to timeout.

R=ager@chromium.org

BUG=none
TEST=mozilla/ecma/Date/15.9.3.8-5, S15.9.3.1_A5_T5, S15.9.3.1_A5_T1, S15.9.3.1_A5_T2, S15.9.3.1_A5_T4, S15.9.3.1_A5_T3 and S15.9.3.1_A5_T6

Review URL: http://codereview.chromium.org//7246004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 12:03:16 +00:00
vitalyr@chromium.org
bbd5889f2c Trim fast elements tail on significant length decreases.
Runtime_RegExpExecMultiple had to be updated because it assumed
setting an array's length to zero still keeps some capacity in the
backing store.

R=ager@chromium.org

Review URL: http://codereview.chromium.org/7237004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 11:22:21 +00:00