platform/upstream/v8.git
13 years agoSimplify UnaryOpStub a little bit.
svenpanne@chromium.org [Fri, 1 Jul 2011 07:50:46 +0000 (07:50 +0000)]
Simplify UnaryOpStub a little bit.

Only a single constructor is really needed. Make UnaryOp_Patch's arguments
simpler, avoiding encoding/decoding things in a cryptic way.
Review URL: http://codereview.chromium.org/7248063

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFixes the build for the shell on illumos and Solaris. -D__C99FEATURES__ was added...
ager@chromium.org [Fri, 1 Jul 2011 05:50:14 +0000 (05:50 +0000)]
Fixes the build for the shell on illumos and Solaris. -D__C99FEATURES__ was added to mirror how the build is done on the normal platform. The changes in the platform code are a follow up to a prior review and has the Solaris implementation be more similar to the Linux version as opposed to the FreeBSD.

Contributed by Robert Mustacchi <rm@fingolfin.org>

TEST=Note the test suite uncovered a bug in libm where pow(3M) was not doing the right thing on edge cases. The only test failures are related to this bug.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRelax register constraints for instructions that support memory operands on IA32.
fschneider@chromium.org [Thu, 30 Jun 2011 18:14:48 +0000 (18:14 +0000)]
Relax register constraints for instructions that support memory operands on IA32.
Review URL: http://codereview.chromium.org/7290006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange return type of FrameDescription::GetFrameSize to avoid unneeded type casts.
whesse@chromium.org [Thu, 30 Jun 2011 15:57:56 +0000 (15:57 +0000)]
Change return type of FrameDescription::GetFrameSize to avoid unneeded type casts.
Review URL: http://codereview.chromium.org/7282033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove bogus assertion.
kmillikin@chromium.org [Thu, 30 Jun 2011 15:49:14 +0000 (15:49 +0000)]
Remove bogus assertion.

R=fschneider@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix broken ARM debug build.
fschneider@chromium.org [Thu, 30 Jun 2011 15:05:24 +0000 (15:05 +0000)]
Fix broken ARM debug build.

TBR=
Review URL: http://codereview.chromium.org/7284035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix problem with arguments object ICs not checking for dictionary mode elements.
karlklose@chromium.org [Thu, 30 Jun 2011 14:56:06 +0000 (14:56 +0000)]
Fix problem with arguments object ICs not checking for dictionary mode elements.

R=kmillikin@chromium.org
BUG=1514
TEST=mjsunit/regress/regress-1513.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoIntroduce scopes to keep track of catch blocks at compile time.
kmillikin@chromium.org [Thu, 30 Jun 2011 14:37:55 +0000 (14:37 +0000)]
Introduce scopes to keep track of catch blocks at compile time.

The catch variable is bound in the catch scope.  For simplicity in this
initial implementation, it is always allocated even if unused and always
allocated to a catch context even if it doesn't escape.  The presence of
catch is no longer treated as a with.

In this change, care must be taken to distinguish between the scope where a
var declaration is hoisted to and the scope where the initialization occurs.

R=ager@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRefactor handling of test expressions in the graph builder.
fschneider@chromium.org [Thu, 30 Jun 2011 14:19:52 +0000 (14:19 +0000)]
Refactor handling of test expressions in the graph builder.

Instead of generating two instructions and combining them
at lithium translation using the EmitAtUses predicate, we
generate the correct branch instruction right from the start.
Review URL: http://codereview.chromium.org/7237024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoHeap profiler: annotate fixed arrays by their purpose.
mikhail.naganov@gmail.com [Thu, 30 Jun 2011 14:19:33 +0000 (14:19 +0000)]
Heap profiler: annotate fixed arrays by their purpose.

This helps understanding what is a particular array for by
just looking at its name.

R=vitalyr@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUnbreak compilation on MIPS after EmitCallIC removal.
svenpanne@chromium.org [Thu, 30 Jun 2011 14:02:18 +0000 (14:02 +0000)]
Unbreak compilation on MIPS after EmitCallIC removal.

Note: It has only been verified that compilation is OK, nothing more... ;-)
Review URL: http://codereview.chromium.org/7273097

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoExclude %_IsNativeOrStrictMode from natives fuzzer.
ager@chromium.org [Thu, 30 Jun 2011 13:36:52 +0000 (13:36 +0000)]
Exclude %_IsNativeOrStrictMode from natives fuzzer.

R=ricow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix compilation on 64-bit Windows build.
whesse@chromium.org [Thu, 30 Jun 2011 13:08:13 +0000 (13:08 +0000)]
Fix compilation on 64-bit Windows build.
Review URL: http://codereview.chromium.org/7283043

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImprove pseudorandom number generation and move the PNG state to Isolate.
whesse@chromium.org [Thu, 30 Jun 2011 13:07:43 +0000 (13:07 +0000)]
Improve pseudorandom number generation and move the PNG state to Isolate.
Review URL: http://codereview.chromium.org/7248060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoNuke EmitCallIC, it is a plain call now.
svenpanne@chromium.org [Thu, 30 Jun 2011 13:05:03 +0000 (13:05 +0000)]
Nuke EmitCallIC, it is a plain call now.

Note that the MIPS part will need some similar changes, too.
Review URL: http://codereview.chromium.org/7283042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDo not pass the global object as the receiver to strict-mode and
ager@chromium.org [Thu, 30 Jun 2011 12:29:19 +0000 (12:29 +0000)]
Do not pass the global object as the receiver to strict-mode and
builtin replace and sort functions.

R=ricow@chromium.org
BUG=v8:1360
TEST=mjsunit/regress/regress-1360.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit failure in gdb-jit.cc.
vegorov@chromium.org [Thu, 30 Jun 2011 12:19:47 +0000 (12:19 +0000)]
Fix presubmit failure in gdb-jit.cc.

R=ricow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove failing test while working on a fix.
kmillikin@chromium.org [Thu, 30 Jun 2011 12:07:33 +0000 (12:07 +0000)]
Remove failing test while working on a fix.

TBR=ricow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix SConstruct to pass correct defines to samples/preparser when building with librar...
vegorov@chromium.org [Thu, 30 Jun 2011 11:53:54 +0000 (11:53 +0000)]
Fix SConstruct to pass correct defines to samples/preparser when building with library=shared.

Fix shell sample build with library=library.

R=ager@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix ARM regression introduced with polymorphic array support.
danno@chromium.org [Thu, 30 Jun 2011 11:53:15 +0000 (11:53 +0000)]
Fix ARM regression introduced with polymorphic array support.

BUG=none
TEST=Kraken on ARM

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoExtend gdb-jit support (OSX/locals+parameters/prettyprint)
vegorov@chromium.org [Thu, 30 Jun 2011 11:52:00 +0000 (11:52 +0000)]
Extend gdb-jit support (OSX/locals+parameters/prettyprint)

Generate Mach-O in-memory objects for OSX. Dump locals and parameters
for non-optimized frames.

Unfortunately, it seems like more-recent-GDB on OSX there is a little
temperamental (eg, the version from macports will be missing symbols
from gdb-integration_g when the version included in xcode will not--
and this is with --gdbjit off).

Includes some Python scripts to make dealing with V8 values in gdb more
pleasant.

Patch by Luke Zarko.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCleaned up calling-related methods in the ARM assembler.
svenpanne@chromium.org [Thu, 30 Jun 2011 11:26:15 +0000 (11:26 +0000)]
Cleaned up calling-related methods in the ARM assembler.

Generalized Call macro instruction to handle AST IDs, too, making things more
similar to the Intel assemblers. Removed unused methods. Minor signature
cleanup. Simplified assertions.
Review URL: http://codereview.chromium.org/7284029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix a bug in Object.defineProperty.
kmillikin@chromium.org [Thu, 30 Jun 2011 11:11:19 +0000 (11:11 +0000)]
Fix a bug in Object.defineProperty.

There was a bug in Object.defineProperty when used to add an indexed
property to an arguments object.  When converting the elements backing
store to dictionary mode, the parameter map in front of the backing
store does not change.

R=ager@chromium.org,karlklose@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMIPS: stub out Support debugger inspection of locals in optimized frames
ager@chromium.org [Thu, 30 Jun 2011 09:25:29 +0000 (09:25 +0000)]
MIPS: stub out Support debugger inspection of locals in optimized frames

Added Deoptimizer::FillInputFrame as UNIMPLEMENTED method.

Ported r8464 (34f38d1)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd support for dictionary elements to polymorphic crankshaft code.
jkummerow@chromium.org [Thu, 30 Jun 2011 08:40:31 +0000 (08:40 +0000)]
Add support for dictionary elements to polymorphic crankshaft code.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMIPS: port Explicitly pass the closure when allocating a catch or with context.
kmillikin@chromium.org [Thu, 30 Jun 2011 08:34:10 +0000 (08:34 +0000)]
MIPS: port Explicitly pass the closure when allocating a catch or with context.

Ported r8453 (59dd697)

Original commit message:
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.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMIPS: port Remove the fcontext field from all contexts.
kmillikin@chromium.org [Thu, 30 Jun 2011 08:32:59 +0000 (08:32 +0000)]
MIPS: port Remove the fcontext field from all contexts.

Ported 8452 (8a2a360)

Original commit message:
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.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix platform-solaris after isolate changes.
ager@chromium.org [Thu, 30 Jun 2011 07:24:49 +0000 (07:24 +0000)]
Fix platform-solaris after isolate changes.

Patch from http://code.google.com/p/v8/issues/detail?id=1509.

R=ager@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove --strict developer flag from V8.
ager@chromium.org [Thu, 30 Jun 2011 06:58:13 +0000 (06:58 +0000)]
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

13 years agoUpdate test expectations for sputnik to match new revision.
ager@chromium.org [Thu, 30 Jun 2011 06:10:12 +0000 (06:10 +0000)]
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

13 years agoll_prof: Terminate mmap file names on the first NUL char.
vitalyr@chromium.org [Wed, 29 Jun 2011 15:34:00 +0000 (15:34 +0000)]
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

13 years agoSuspend runtime profiler as soon as we exit JS.
vitalyr@chromium.org [Wed, 29 Jun 2011 14:56:08 +0000 (14:56 +0000)]
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

13 years agoFix build on x64
jkummerow@chromium.org [Wed, 29 Jun 2011 14:28:41 +0000 (14:28 +0000)]
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

13 years agoSimplify EmitCallIC.
svenpanne@chromium.org [Wed, 29 Jun 2011 13:43:24 +0000 (13:43 +0000)]
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

13 years agoTemporarily add more test output to help locate test failure
sgjesse@chromium.org [Wed, 29 Jun 2011 13:40:23 +0000 (13:40 +0000)]
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

13 years agoUsing KeyedStoreIC_Generic_Strict must prevent polymorphic case.
jkummerow@chromium.org [Wed, 29 Jun 2011 13:32:27 +0000 (13:32 +0000)]
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

13 years agoFix compilation of all combinations of disassembler=on/off and objectprint=on/off
sgjesse@chromium.org [Wed, 29 Jun 2011 13:17:02 +0000 (13:17 +0000)]
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

13 years agoSupport debugger inspection of locals in optimized frames
sgjesse@chromium.org [Wed, 29 Jun 2011 13:02:00 +0000 (13:02 +0000)]
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

13 years agoPrepare push to trunk. Now working on 3.4.9.
vegorov@chromium.org [Wed, 29 Jun 2011 11:21:23 +0000 (11:21 +0000)]
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

13 years agoSimplify the way we call UnaryOpStubs, saving one unused no-op after the call itself.
svenpanne@chromium.org [Wed, 29 Jun 2011 11:12:12 +0000 (11:12 +0000)]
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

13 years agoImprove JSON.parse to use less memory when using escaped and non-ascii
sandholm@chromium.org [Wed, 29 Jun 2011 10:54:20 +0000 (10:54 +0000)]
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

13 years agoARM: Improve register allocation and constraints (try 2).
sgjesse@chromium.org [Wed, 29 Jun 2011 10:51:06 +0000 (10:51 +0000)]
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

13 years agoError checking for length parameter of external array constructors in shell
jkummerow@chromium.org [Wed, 29 Jun 2011 10:27:14 +0000 (10:27 +0000)]
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

13 years agoreverting revision r8454
yangguo@chromium.org [Wed, 29 Jun 2011 08:45:22 +0000 (08:45 +0000)]
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

13 years agoImprovement to SmiLexicalCompare. Landing http://codereview.chromium.org/7261008...
erik.corry@gmail.com [Wed, 29 Jun 2011 08:35:10 +0000 (08:35 +0000)]
Improvement to SmiLexicalCompare.  Landing codereview.chromium.org/7261008 for Stephen Adams

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix lint failure.
kmillikin@chromium.org [Wed, 29 Jun 2011 08:32:12 +0000 (08:32 +0000)]
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

13 years agoadded the --test option for d8 into tools/test.py
yangguo@chromium.org [Wed, 29 Jun 2011 08:22:36 +0000 (08:22 +0000)]
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

13 years agoExplicitly pass the closure when allocating a catch or with context.
kmillikin@chromium.org [Wed, 29 Jun 2011 07:41:42 +0000 (07:41 +0000)]
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

13 years agoRemove the fcontext field from all contexts.
kmillikin@chromium.org [Tue, 28 Jun 2011 15:22:08 +0000 (15:22 +0000)]
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

13 years agoSlightly improved register assignment for %_IsObject on IA32 and ARM.
fschneider@chromium.org [Tue, 28 Jun 2011 14:21:55 +0000 (14:21 +0000)]
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

13 years agoBetter placement of argument pushing for a few hydrogen call instructions.
kmillikin@chromium.org [Tue, 28 Jun 2011 12:51:21 +0000 (12:51 +0000)]
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

13 years agoFix "illegal access" when calling parseInt with a radix that is not a smi.
keuchel@chromium.org [Tue, 28 Jun 2011 12:31:42 +0000 (12:31 +0000)]
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

13 years agoFix bug in register assignment of IsObjectAndBranch.
fschneider@chromium.org [Tue, 28 Jun 2011 09:09:07 +0000 (09:09 +0000)]
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

13 years agoCleanup to HEnvironment::CopyForInlining
ager@chromium.org [Tue, 28 Jun 2011 08:54:09 +0000 (08:54 +0000)]
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

13 years agoFix a bug in %_GetCachedArrayIndex.
fschneider@chromium.org [Tue, 28 Jun 2011 08:49:01 +0000 (08:49 +0000)]
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

13 years agoMIPS: port Fix receiver check in arguments ICs.
sgjesse@chromium.org [Tue, 28 Jun 2011 07:54:01 +0000 (07:54 +0000)]
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

13 years agoMIPS: Long branch implementation and trampoline improvement.
sgjesse@chromium.org [Tue, 28 Jun 2011 07:31:42 +0000 (07:31 +0000)]
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

13 years agoEnsure 16-byte stack alignment on Solaris.
ager@chromium.org [Tue, 28 Jun 2011 07:07:09 +0000 (07:07 +0000)]
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

13 years agoPrepare push to trunk. Now working on version 3.4.8.
ager@chromium.org [Mon, 27 Jun 2011 13:16:07 +0000 (13:16 +0000)]
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

13 years agoFix receiver check in arguments ICs.
ager@chromium.org [Mon, 27 Jun 2011 13:02:51 +0000 (13:02 +0000)]
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

13 years agoChange the handling of stack check on backward branches
sgjesse@chromium.org [Mon, 27 Jun 2011 12:12:27 +0000 (12:12 +0000)]
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

13 years agoMIPS: port Better codegen for '<expression> === void <literal>'.
sgjesse@chromium.org [Mon, 27 Jun 2011 10:45:54 +0000 (10:45 +0000)]
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

13 years agoCleanup of return types and names in factory.
lrn@chromium.org [Mon, 27 Jun 2011 09:02:34 +0000 (09:02 +0000)]
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

13 years agoMIPS: update missing write barrier for arguments store ICs, per comments.
sgjesse@chromium.org [Mon, 27 Jun 2011 08:56:25 +0000 (08:56 +0000)]
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

13 years agoremoved some unnecessary stuff from d8's initialization
yangguo@chromium.org [Fri, 24 Jun 2011 20:04:32 +0000 (20:04 +0000)]
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

13 years agoChange timeType and dateType in i18n date format API into timeStyle and dateStyle...
cira@chromium.org [Fri, 24 Jun 2011 16:58:28 +0000 (16:58 +0000)]
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

13 years agoUpdated test expectations of future reserved keyword tests.
keuchel@chromium.org [Fri, 24 Jun 2011 16:54:47 +0000 (16:54 +0000)]
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

13 years agoProper handling of future reserved words in strict and normal mode.
keuchel@chromium.org [Fri, 24 Jun 2011 14:59:51 +0000 (14:59 +0000)]
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

13 years agoBetter codegen for '<expression> === void <literal>'.
keuchel@chromium.org [Fri, 24 Jun 2011 14:30:10 +0000 (14:30 +0000)]
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

13 years agoCheck for empty substring.
sandholm@chromium.org [Fri, 24 Jun 2011 13:44:27 +0000 (13:44 +0000)]
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

13 years agoMIPS: Minor bug fixes to macro-asm and simulator.
sgjesse@chromium.org [Fri, 24 Jun 2011 13:23:18 +0000 (13:23 +0000)]
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

13 years agoFix three GC unsafe places found by gcmole's dead_vars analysis.
vegorov@chromium.org [Fri, 24 Jun 2011 12:04:14 +0000 (12:04 +0000)]
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

13 years agoRemove obsolete aggregating and non-working producers heap profilers.
mikhail.naganov@gmail.com [Fri, 24 Jun 2011 11:38:47 +0000 (11:38 +0000)]
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

13 years agoMIPS: port Add missing write barrier for arguments store ICs.
sgjesse@chromium.org [Fri, 24 Jun 2011 08:46:57 +0000 (08:46 +0000)]
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

13 years agoMIPS: Fix a bug in MacroAssembler::CheckFastElements.
sgjesse@chromium.org [Fri, 24 Jun 2011 08:26:47 +0000 (08:26 +0000)]
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

13 years agoAdd regression test for optimized version of Math.abs.
ricow@chromium.org [Fri, 24 Jun 2011 07:46:57 +0000 (07:46 +0000)]
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

13 years agoRevert "ARM: Improve register allocation and constraints."
sgjesse@chromium.org [Thu, 23 Jun 2011 12:03:16 +0000 (12:03 +0000)]
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

13 years agoTrim fast elements tail on significant length decreases.
vitalyr@chromium.org [Thu, 23 Jun 2011 11:22:21 +0000 (11:22 +0000)]
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

13 years agoShrink dictionaries on deletion if number of elements are less than a
ager@chromium.org [Thu, 23 Jun 2011 09:30:39 +0000 (09:30 +0000)]
Shrink dictionaries on deletion if number of elements are less than a
quarter of the capacity.

R=vegorov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd missing write barrier for arguments store ICs.
fschneider@chromium.org [Thu, 23 Jun 2011 09:20:07 +0000 (09:20 +0000)]
Add missing write barrier for arguments store ICs.
Review URL: http://codereview.chromium.org/7207006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake extensions in different tests have different names.
lrn@chromium.org [Thu, 23 Jun 2011 08:28:23 +0000 (08:28 +0000)]
Make extensions in different tests have different names.

In the threaded test, they influenced each other.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix renaming patch to also compile in debug mode.
ager@chromium.org [Thu, 23 Jun 2011 06:33:38 +0000 (06:33 +0000)]
Fix renaming patch to also compile in debug mode.

R=ricow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoHBasicBlock::CreateSimulate argument name clarity
ager@chromium.org [Thu, 23 Jun 2011 06:26:50 +0000 (06:26 +0000)]
HBasicBlock::CreateSimulate argument name clarity

* src/hydrogen.h:
* src/hydrogen.cc (HBasicBlock::CreateSimulate): Rename "id" arg to
  "ast_id".

BUG=
TEST=

Review URL: http://codereview.chromium.org/7234010
Patch from Andy Wingo <wingo@igalia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPrevent a NULL deref.
mikhail.naganov@gmail.com [Wed, 22 Jun 2011 20:41:02 +0000 (20:41 +0000)]
Prevent a NULL deref.

Patch by Rachel Blum <groby@chromium.org>

R=mnaganov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix issue 1354: Bad function name inference.
mikhail.naganov@gmail.com [Wed, 22 Jun 2011 20:23:48 +0000 (20:23 +0000)]
Fix issue 1354: Bad function name inference.

R=kmillikin@chromium.org, vitalyr@chromium.org
BUG=1354
TEST=test-func-name-inference

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix 64 bit build on FreeBSD. 32 bit build is still borked.
erik.corry@gmail.com [Wed, 22 Jun 2011 20:22:44 +0000 (20:22 +0000)]
Fix 64 bit build on FreeBSD.  32 bit build is still borked.
Review URL: http://codereview.chromium.org/7229008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Improve register allocation and constraints.
sgjesse@chromium.org [Wed, 22 Jun 2011 19:49:31 +0000 (19:49 +0000)]
ARM: Improve register allocation and constraints.
Gives ~20% boost for Crypto benchmark on A9.

BUG=none
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Add PostIndex support to Ldrd/Strd macro fallback code.
sgjesse@chromium.org [Wed, 22 Jun 2011 19:18:04 +0000 (19:18 +0000)]
ARM: Add PostIndex support to Ldrd/Strd macro fallback code.

BUG=none
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdding support for number formating to the JS i18n API.
cira@chromium.org [Wed, 22 Jun 2011 18:55:06 +0000 (18:55 +0000)]
Adding support for number formating to the JS i18n API.

This is the last part of the API that belongs in public spec.

Methods supported:
- format
- derive

Options supported:
- style (decimal, scientific, currency and percent)
- pattern
- skeleton

TEST= Visit i18n.kaziprst.org/numberformat.html
Review URL: http://codereview.chromium.org/7129051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agod8 drops into a shell if no files are passed on command line
yangguo@chromium.org [Wed, 22 Jun 2011 17:32:35 +0000 (17:32 +0000)]
d8 drops into a shell if no files are passed on command line

Fixes regression introduced in r8241.

BUG=
TEST=Run ./d8 --print_code -- should drop into shell.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoSlightly improve r8367, fix to overflow of on-stack replacement.
whesse@chromium.org [Wed, 22 Jun 2011 15:30:00 +0000 (15:30 +0000)]
Slightly improve r8367, fix to overflow of on-stack replacement.

The improvement is included in the port of r8367 to earlier versions of V8.
Review URL: http://codereview.chromium.org/7229011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoInctroduce NewStrictSubstring to avoid check for SubString(str, 0, str.length). Clean...
sandholm@chromium.org [Wed, 22 Jun 2011 14:20:23 +0000 (14:20 +0000)]
Inctroduce NewStrictSubstring to avoid check for SubString(str, 0, str.length). Cleanup JsonParser.
Review URL: http://codereview.chromium.org/7230006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCleanup extra initialization of TickSample fields.
mikhail.naganov@gmail.com [Wed, 22 Jun 2011 13:54:35 +0000 (13:54 +0000)]
Cleanup extra initialization of TickSample fields.

R=vitalyr@chromium.org
BUG=1293

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix an overflow in on-stack replacement spill-slot allocation for Crankshaft.
whesse@chromium.org [Wed, 22 Jun 2011 13:08:40 +0000 (13:08 +0000)]
Fix an overflow in on-stack replacement spill-slot allocation for Crankshaft.

BUG=v8:1407
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd possibility to configure 'prototype' property via FunctionTemplate
jkummerow@chromium.org [Wed, 22 Jun 2011 12:39:45 +0000 (12:39 +0000)]
Add possibility to configure 'prototype' property via FunctionTemplate

BUG=v8:1479
TEST=test-api/SetPrototypeProperties

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPrepare push to trunk. Now working on V8 version 3.4.7.
lrn@chromium.org [Wed, 22 Jun 2011 12:36:29 +0000 (12:36 +0000)]
Prepare push to trunk.  Now working on V8 version 3.4.7.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEliminate unnecessary patching of load-length ICs in megamorphic state.
fschneider@chromium.org [Wed, 22 Jun 2011 10:24:40 +0000 (10:24 +0000)]
Eliminate unnecessary patching of load-length ICs in megamorphic state.

This avoid the worst case of patching ICs repeatedly with the
same stub code object.

BUG=v8:1489
Review URL: http://codereview.chromium.org/7230007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLimit the size of the space reserved for code on systems that
erik.corry@gmail.com [Wed, 22 Jun 2011 10:13:10 +0000 (10:13 +0000)]
Limit the size of the space reserved for code on systems that
are short of virtual memory.  This should make V8 work in 64 bit
on OpenBSD in its default configuration.  It is a simplified
version of the reverted 8133 which also lowered the non-code
heap size, causing test failures in Chromium on MacOS.
Review URL: http://codereview.chromium.org/7234004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCombined identical classes V8JavaScriptScanner and StandAloneJavaScriptScanner.
lrn@chromium.org [Wed, 22 Jun 2011 09:06:03 +0000 (09:06 +0000)]
Combined identical classes V8JavaScriptScanner and StandAloneJavaScriptScanner.

Now only uses the common superclass of the two scanner classes.
Updated comment on KeywordMatcher.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake ToBooleanStub more consistent across platforms.
svenpanne@chromium.org [Wed, 22 Jun 2011 08:28:35 +0000 (08:28 +0000)]
Make ToBooleanStub more consistent across platforms.

The declaration of the ToBoolean class moved to the platform-independent part
and its implementations are now structurally very similar. This is just an
intermediate cleanup step to add type recording at the call site.

Note that the MIPS implementation has not really been touched, so it should
continue to work, too.
Review URL: http://codereview.chromium.org/7218012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00