platform/upstream/v8.git
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

13 years agoMIPS: Fix arguments-branch update per review comments.
sgjesse@chromium.org [Wed, 22 Jun 2011 07:48:32 +0000 (07:48 +0000)]
MIPS: Fix arguments-branch update per review comments.

This is a follow-on to r8340, http://codereview.chromium.org/7216004/

Søren had commited changes and closed issue, as Karl was commenting about
problems in the code.

Thanks Karl, for your detailed code review. I have corrected the issues
you raised.

BUG=
TEST=

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

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

13 years agoARM: Fix context save/restore for VFP registers.
sgjesse@chromium.org [Wed, 22 Jun 2011 06:24:34 +0000 (06:24 +0000)]
ARM: Fix context save/restore for VFP registers.

BUG=none
TEST=none

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

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

13 years agoAllow compiling v8_shell with the 'host' toolset.
ager@chromium.org [Wed, 22 Jun 2011 05:53:40 +0000 (05:53 +0000)]
Allow compiling v8_shell with the 'host' toolset.

BUG=82437
TEST=Compile browser_tests for Arm against http://codereview.chromium.org/7087014/

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

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

13 years agoIssue 1418: Debug: extends setBreakpoint API to accept partial script name as a parameter
peter.rybin@gmail.com [Tue, 21 Jun 2011 19:42:35 +0000 (19:42 +0000)]
Issue 1418: Debug: extends setBreakpoint API to accept partial script name as a parameter

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

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

13 years ago[x64] Fix disassembly of movmskpd instruction.
lrn@chromium.org [Tue, 21 Jun 2011 13:57:03 +0000 (13:57 +0000)]
[x64] Fix disassembly of movmskpd instruction.

The destination is a GP register, not an XMM register.  ia32 did not
have this problem.

BUG=
TEST=Check --print_code output for code that tests for -0.0.

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

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

13 years agoMake multi-line comments not count when checking whether --> is first on a line.
lrn@chromium.org [Tue, 21 Jun 2011 13:34:16 +0000 (13:34 +0000)]
Make multi-line comments not count when checking whether --> is first on a line.

A multi-line comment containing a newline is considered a line-terminator for
other purposes, but a "-->" following such a comment is considered as being
on the same line as the text preceeding the multi-line comment.
This behavior matches JSC matching Firefox.

TEST=cctest/test-parsing/ScanHTMLEndComments

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

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

13 years agoRemove redundant hydrogen- and lithium instruction for symbol comparison.
fschneider@chromium.org [Tue, 21 Jun 2011 11:18:15 +0000 (11:18 +0000)]
Remove redundant hydrogen- and lithium instruction for symbol comparison.

We had two instructions HCompareJsObjectEq and HCompareSymbolEq that behave
exactly the same. I removed one and renamed the remaining instruction into
HCompareObjectEq.
Review URL: http://codereview.chromium.org/7206040

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

13 years agoFix wrong bounds check on arguments object.
karlklose@chromium.org [Tue, 21 Jun 2011 09:27:38 +0000 (09:27 +0000)]
Fix wrong bounds check on arguments object.

TEST=added to test/mjsunit/arguments.js

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

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

13 years agoCorrectly handle non-array receivers in Array length setter.
ager@chromium.org [Tue, 21 Jun 2011 08:07:45 +0000 (08:07 +0000)]
Correctly handle non-array receivers in Array length setter.

BUG=v8:1491
TEST=mjsunit/regress/regress-1491.js

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

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

13 years agoHeap profiler: add an ability to iterate over snapshot's nodes.
mikhail.naganov@gmail.com [Tue, 21 Jun 2011 08:02:34 +0000 (08:02 +0000)]
Heap profiler: add an ability to iterate over snapshot's nodes.

This is a preparation for removing aggregated heap snapshots.
W/o this API, counting object instances in a snapshot is very hard.

R=sgjesse@chromium.org
BUG=1481
TEST=cctest/test-heap-profiler/NodesIteration

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

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

13 years agoUse issue number instead of username for TODO comment
jkummerow@chromium.org [Tue, 21 Jun 2011 07:52:19 +0000 (07:52 +0000)]
Use issue number instead of username for TODO comment

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

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

13 years agoMIPS: port Merge arguments branch to bleeding edge (second try).
sgjesse@chromium.org [Tue, 21 Jun 2011 07:47:26 +0000 (07:47 +0000)]
MIPS: port Merge arguments branch to bleeding edge (second try).

Ported r8315 (d70d395).

BUG=
TEST=

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

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

13 years agoMIPS: Port some DIV changes to BinaryOpStub::GenerateInt32Stub().
sgjesse@chromium.org [Tue, 21 Jun 2011 07:34:01 +0000 (07:34 +0000)]
MIPS: Port some DIV changes to BinaryOpStub::GenerateInt32Stub().

There were some changes in ARM r8172 that we needed to port to MIPS,
but missed.

The bug was exposed with the Arm & Mips fix in r8321, "Fix wrong
parenthesis in stub ARM and MIPS generation code."

BUG=
TEST=

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

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

13 years agoMIPS: Update an outdated comment in the CEntryStub.
sgjesse@chromium.org [Tue, 21 Jun 2011 07:32:23 +0000 (07:32 +0000)]
MIPS: Update an outdated comment in the CEntryStub.

Following r8289 (bf0c0cf).

BUG=
TEST=

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

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

13 years agoPrepare push to trunk. Now working on V8 version 3.4.6. Revision 8324, which also...
whesse@chromium.org [Mon, 20 Jun 2011 15:11:04 +0000 (15:11 +0000)]
Prepare push to trunk.  Now working on V8 version 3.4.6.  Revision 8324, which also claims this, has been superseded by this one.
Review URL: http://codereview.chromium.org/7210016

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

13 years agoRestore accidentally deleted src/extensions/experimental/i18n.js
whesse@chromium.org [Mon, 20 Jun 2011 14:14:33 +0000 (14:14 +0000)]
Restore accidentally deleted src/extensions/experimental/i18n.js
Review URL: http://codereview.chromium.org/7205030

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

13 years agoUse the correct soname when linking together the preparser shared lib.
svenpanne@chromium.org [Mon, 20 Jun 2011 13:13:28 +0000 (13:13 +0000)]
Use the correct soname when linking together the preparser shared lib.

[I've accidentally lost my gcl_info directory and I see no way to commit the old CL, so I simply deleted the old CL opened a new one. :-P ]
Review URL: http://codereview.chromium.org/7210012

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

13 years agoFix DoHasInstanceType on ARM
jkummerow@chromium.org [Mon, 20 Jun 2011 12:45:09 +0000 (12:45 +0000)]
Fix DoHasInstanceType on ARM

Was broken by the recent JumpIfSmi() cleanup.

TEST=es5conform

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

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

13 years agoRefactor the way we collect the information for associating type-related infos
svenpanne@chromium.org [Mon, 20 Jun 2011 12:33:08 +0000 (12:33 +0000)]
Refactor the way we collect the information for associating type-related infos
with AST IDs. Previously 3 different places had to match in how they handle a
given case, now we are down to 2, with an even simpler logic.

The downside is that due to this simpler logic the allocated dictionary could be
larger than before, but test have shown that this happens *very* rarely, because
its capacity is rounded to the next power of 2, anyway. Furthermore, the oracle
doesn't live long enough that we should really care.

The whole oracle is probably still a bit too tricky in its details, but this is
at least a step into the right direction.
Review URL: http://codereview.chromium.org/7204003

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

13 years agoInclude the loop header block when eliminating stack checks
sgjesse@chromium.org [Mon, 20 Jun 2011 12:29:03 +0000 (12:29 +0000)]
Include the loop header block when eliminating stack checks

In simple unconditional loops - like the following - the hydrogen stack check elimination did not detect the call as the loop header block itself was not considered.

function f(o) {
  while(true) {
    o.a();
  }
}

R=fschneider@chromium.org

BUG=none
TEST=none

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

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

13 years agoDo not automatically pretenure global closures in runtime.cc
erik.corry@gmail.com [Mon, 20 Jun 2011 12:20:30 +0000 (12:20 +0000)]
Do not automatically pretenure global closures in runtime.cc
unless the caller has indicated that pretenuring is desirable.
This is intended to fix http://jsperf.com/scope-lookups/3
Review URL: http://codereview.chromium.org/7210011

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

13 years agoMade parser not accept unicode escapes inside "native" when used as a keyword.
lrn@chromium.org [Mon, 20 Jun 2011 11:52:24 +0000 (11:52 +0000)]
Made parser not accept unicode escapes inside "native" when used as a keyword.

This is a regression relative to the original behavior, when "native" was a keyword,
since keywords cannot contain esacpes.

Added tests for escapes and for not allowing line-terminators betwen "native" and "function".

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

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

13 years agoMake "native" not a keyword.
lrn@chromium.org [Mon, 20 Jun 2011 10:20:57 +0000 (10:20 +0000)]
Make "native" not a keyword.

We now only recognize "native function" when it occurs in extension scripts
(parsing with a non-NULL extension), and only if there is no line-terminator
between "native" and "function" (so that it would otherwise be a Syntax Error).
Preparsing never recognizes native functions, which is acceptable since we
never preparse extension scripts (because we don't allow lazy functions
anyway).

BUG=v8:1097

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

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

13 years agoCrankshaft support for polymorphic array handling
jkummerow@chromium.org [Mon, 20 Jun 2011 10:19:00 +0000 (10:19 +0000)]
Crankshaft support for polymorphic array handling

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

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

13 years agoPrepare push to trunk. Now working on version 3.4.6.
whesse@chromium.org [Mon, 20 Jun 2011 09:30:54 +0000 (09:30 +0000)]
Prepare push to trunk.  Now working on version 3.4.6.
Review URL: http://codereview.chromium.org/7212007

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

13 years agoGeneralized Stephen's patch from http://codereview.chromium.org/7044100/ and
kasperl@chromium.org [Mon, 20 Jun 2011 07:40:42 +0000 (07:40 +0000)]
Generalized Stephen's patch from codereview.chromium.org/7044100/ and
added a few test cases.
Review URL: http://codereview.chromium.org/7212006

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

13 years agoCleanup: use JumpIf[Not]Smi() whenever we can
jkummerow@chromium.org [Fri, 17 Jun 2011 18:32:36 +0000 (18:32 +0000)]
Cleanup: use JumpIf[Not]Smi() whenever we can

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

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

13 years agoFix wrong parenthesis in stub ARM and MIPS generation code.
fschneider@chromium.org [Fri, 17 Jun 2011 10:45:29 +0000 (10:45 +0000)]
Fix wrong parenthesis in stub ARM and MIPS generation code.

I think the problem did not manifest as a bug, since the only
consequence was to generate extra code to return heap number
results in case of the INT32-stub.
Review URL: http://codereview.chromium.org/7192006

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

13 years agoFix issue 1417: check for script source availability when enumerating optimized funct...
mikhail.naganov@gmail.com [Fri, 17 Jun 2011 08:40:30 +0000 (08:40 +0000)]
Fix issue 1417: check for script source availability when enumerating optimized functions.

R=kasperl@chromium.org,kmillikin@chromium.org
BUG=1417
TEST=test-log/Issue23768

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

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

13 years agoFix mozilla test-expectatations to match the new behavior of multi-line comments.
lrn@chromium.org [Fri, 17 Jun 2011 08:20:27 +0000 (08:20 +0000)]
Fix mozilla test-expectatations to match the new behavior of multi-line comments.

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

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

13 years agoRefix issue 1472. The previous fix worked for the example in the bug
erik.corry@gmail.com [Fri, 17 Jun 2011 08:01:12 +0000 (08:01 +0000)]
Refix issue 1472.  The previous fix worked for the example in the bug
report, but was not general enough to catch all cases.  This is a new
approach.  Includes regression test!
Review URL: http://codereview.chromium.org/7193007

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

13 years agoMake line-terminators inside multi-line comments count.
lrn@chromium.org [Fri, 17 Jun 2011 07:23:07 +0000 (07:23 +0000)]
Make line-terminators inside multi-line comments count.

Now follows the specification. Follows WebKit change in revision 89100.

BUG=86431
TEST=regress-892742

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

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

13 years agoAdd missing assert to Label destructor.
erik.corry@gmail.com [Thu, 16 Jun 2011 15:18:48 +0000 (15:18 +0000)]
Add missing assert to Label destructor.
Review URL: http://codereview.chromium.org/7172026

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

13 years agoMerge arguments branch to bleeding edge (second try).
karlklose@chromium.org [Thu, 16 Jun 2011 14:12:58 +0000 (14:12 +0000)]
Merge arguments branch to bleeding edge (second try).

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

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

13 years agoReinitialize the arguments object in d8 when renewing the evaluation context (fixes...
ricow@chromium.org [Thu, 16 Jun 2011 08:35:26 +0000 (08:35 +0000)]
Reinitialize the arguments object in d8 when renewing the evaluation context (fixes issue 1477).
Review URL: http://codereview.chromium.org/7189007

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

13 years agoFix building in release mode with disassembler=on
jkummerow@chromium.org [Thu, 16 Jun 2011 07:58:47 +0000 (07:58 +0000)]
Fix building in release mode with disassembler=on

BUG=v8:1473

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

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

13 years agoARM: Clean up literal pool generation.
sgjesse@chromium.org [Thu, 16 Jun 2011 07:00:46 +0000 (07:00 +0000)]
ARM: Clean up literal pool generation.
Remove dead code, and generate pools less frequently.

BUG=none
TEST=none

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

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

13 years agoRevert "Merge arguments branch to bleeding merge."
karlklose@chromium.org [Thu, 16 Jun 2011 06:37:49 +0000 (06:37 +0000)]
Revert "Merge arguments branch to bleeding merge."

This reverts commit ceb31498b9d69edca3260820fb4047045891ce6d.

TBR=kmillikin@chromium.org

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

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

13 years agoAvoid OOM on regexps with nested quantifiers.
erik.corry@gmail.com [Wed, 15 Jun 2011 20:15:40 +0000 (20:15 +0000)]
Avoid OOM on regexps with nested quantifiers.
http://code.google.com/p/v8/issues/detail?id=1472
Review URL: http://codereview.chromium.org/7170014

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

13 years agoAdd missing branches in code generated for LModI with power-of-2 divisor.
vegorov@chromium.org [Wed, 15 Jun 2011 19:57:39 +0000 (19:57 +0000)]
Add missing branches in code generated for LModI with power-of-2 divisor.

BUG=v8:1476
TEST=test/mjsunit/regress/regress-1476.js

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

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

13 years agoMerge arguments branch to bleeding merge.
karlklose@chromium.org [Wed, 15 Jun 2011 15:09:28 +0000 (15:09 +0000)]
Merge arguments branch to bleeding merge.

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

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

13 years agoMake name and message non-enumerable on Error object (this is a partial fix for issue...
ricow@chromium.org [Wed, 15 Jun 2011 13:54:40 +0000 (13:54 +0000)]
Make name and message non-enumerable on Error object (this is a partial fix for issue 1215)
Review URL: http://codereview.chromium.org/7172011

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

13 years agoAdd a number of old tests to the mjsunit test suite.
ager@chromium.org [Wed, 15 Jun 2011 13:33:10 +0000 (13:33 +0000)]
Add a number of old tests to the mjsunit test suite.

R=kasperl@chromium.org
BUG=
TEST=

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

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

13 years agoChange DefineOrRedefineDataProperty to use local lookup (fix issue 1435).
ricow@chromium.org [Wed, 15 Jun 2011 11:41:03 +0000 (11:41 +0000)]
Change DefineOrRedefineDataProperty to use local lookup (fix issue 1435).

This prevents us from normalizing when we do not need to.
Review URL: http://codereview.chromium.org/7168012

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

13 years agoEnsure that bound functions does not have a prototype (fixes issue 794)
ricow@chromium.org [Wed, 15 Jun 2011 10:47:37 +0000 (10:47 +0000)]
Ensure that bound functions does not have a prototype (fixes issue 794)
Review URL: http://codereview.chromium.org/7148014

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

13 years agoMIPS: port First steps towards better code generation for LBranch.
sgjesse@chromium.org [Wed, 15 Jun 2011 10:07:10 +0000 (10:07 +0000)]
MIPS: port First steps towards better code generation for LBranch.

Ported r8274 (03e42c0)

BUG=
TEST=

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

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

13 years agoPrepare push to trunk.
svenpanne@chromium.org [Wed, 15 Jun 2011 09:58:04 +0000 (09:58 +0000)]
Prepare push to trunk.
Review URL: http://codereview.chromium.org/7171015

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

13 years agoGenerate better branch code for instanceof-predicates.
fschneider@chromium.org [Wed, 15 Jun 2011 09:20:24 +0000 (09:20 +0000)]
Generate better branch code for instanceof-predicates.
Review URL: http://codereview.chromium.org/7168013

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

13 years agoUpdate an outdated comment in the CEntryStub on ARM.
karlklose@chromium.org [Wed, 15 Jun 2011 09:17:54 +0000 (09:17 +0000)]
Update an outdated comment in the CEntryStub on ARM.

R=sgjesse@chromium.org

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

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

13 years agoRemove unused methods.
ager@chromium.org [Wed, 15 Jun 2011 06:51:22 +0000 (06:51 +0000)]
Remove unused methods.

Do not force set DEBUG.

R=kasperl@chromium.org
BUG=
TEST=

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

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

13 years agoCorrectly set ReadOnly flag on indexed properties when using the API Set method ...
ricow@chromium.org [Wed, 15 Jun 2011 06:44:57 +0000 (06:44 +0000)]
Correctly set ReadOnly flag on indexed properties when using the API Set method (fixes issue 1470)
Review URL: http://codereview.chromium.org/7149015

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

13 years agoFix invalid assertion.
kmillikin@chromium.org [Tue, 14 Jun 2011 19:26:09 +0000 (19:26 +0000)]
Fix invalid assertion.

Runtime_DeclareContextSlot is used to declare global variables.

R=vegorov@chromium.org
BUG=
TEST=

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

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

13 years agoGuard an unsafe cast of a catch context's extension object.
kmillikin@chromium.org [Tue, 14 Jun 2011 15:00:57 +0000 (15:00 +0000)]
Guard an unsafe cast of a catch context's extension object.

R=ager@chromium.org
BUG=
TEST=

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

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

13 years agoDistinguish keyed loads with a symbol key from fast elements loads.
fschneider@chromium.org [Tue, 14 Jun 2011 13:21:24 +0000 (13:21 +0000)]
Distinguish keyed loads with a symbol key from fast elements loads.

This change fixes the deoptimization when a keyed load is used with
a symbol key. Before we would wrongly generate a fast elements load.
Now we generate a generic keyed load instead.

BUG=1471
Review URL: http://codereview.chromium.org/7150010

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

13 years agoMake valgrind happy with SparseSet.
vitalyr@chromium.org [Tue, 14 Jun 2011 12:48:25 +0000 (12:48 +0000)]
Make valgrind happy with SparseSet.

R=ager@chromium.org
BUG=crbug.com/83626

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

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

13 years agoChange the representation of catch contexts.
kmillikin@chromium.org [Tue, 14 Jun 2011 12:16:23 +0000 (12:16 +0000)]
Change the representation of catch contexts.

Before, they had no extra slots and an extension object with one named
property.  Now, they use the extension slot for the property name and have
an extra slot for the thrown object.  This increases the size of the context
itself, but removes overall allocation and eliminates a level of indirection.

R=ager@chromium.org

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

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

13 years agoGeve correct error message when Object.isExtensible is called on a non object (fixes...
ricow@chromium.org [Tue, 14 Jun 2011 11:28:14 +0000 (11:28 +0000)]
Geve correct error message when Object.isExtensible is called on a non object (fixes issue 1452)
Review URL: http://codereview.chromium.org/7146010

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

13 years agoFirst steps towards better code generation for LBranch:
svenpanne@chromium.org [Tue, 14 Jun 2011 09:15:25 +0000 (09:15 +0000)]
First steps towards better code generation for LBranch:

 * AST Expression nodes get a separate testing ID to record type info in
   ToBooleanStub later. This is necessary to avoid clashes with other uses of
   already existing IDs.

 * In order to avoid threading the condition expression through tons of places,
   TestContexts carry it now with them. Note that we will probably only need the
   testing ID of the expression, but having the whole thing at hand makes
   debugging easier. Probably we will change this later...
Review URL: http://codereview.chromium.org/7046073

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

13 years agoAlways print the deoptimization data when disassembling the generated code
sgjesse@chromium.org [Tue, 14 Jun 2011 09:10:39 +0000 (09:10 +0000)]
Always print the deoptimization data when disassembling the generated code

R=jkummerow@chromium.org

BUG=none
TEST=none

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

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

13 years agoMIPS: port Refactor platform-specific code for determining shared stub for keyed...
sgjesse@chromium.org [Tue, 14 Jun 2011 06:37:56 +0000 (06:37 +0000)]
MIPS: port Refactor platform-specific code for determining shared stub for keyed load/stores.

Ported r8253 (9d8e6ab).

BUG=
TEST=

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

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

13 years agoSkip test-debug/DebuggerAgent on ARM. Issue 945.
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 13:43:48 +0000 (13:43 +0000)]
Skip test-debug/DebuggerAgent on ARM. Issue 945.

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

13 years agoadded explicit attributes since constructors have only one argument now.
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:43 +0000 (12:41 +0000)]
added explicit attributes since constructors have only one argument now.

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

13 years agoremoved isolates from d8 since they are not necessary anymore
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:35 +0000 (12:41 +0000)]
removed isolates from d8 since they are not necessary anymore

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

13 years agocorrected parts in d8 that accesses the new "deisolated" Thread in platform.h
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:26 +0000 (12:41 +0000)]
corrected parts in d8 that accesses the new "deisolated" Thread in platform.h

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

13 years agoAdd GetOwnPropertyNames method for Object in the API
ager@chromium.org [Fri, 10 Jun 2011 12:33:55 +0000 (12:33 +0000)]
Add GetOwnPropertyNames method for Object in the API

Patch by Peter Varga.

BUG=none
TEST=cctest/test-api/PropertyEnumeration

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

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

13 years agoAdded two convenience methods to access an int/double argument from within a
svenpanne@chromium.org [Fri, 10 Jun 2011 12:15:30 +0000 (12:15 +0000)]
Added two convenience methods to access an int/double argument from within a
runtime function and use these in various places.
Review URL: http://codereview.chromium.org/7003114

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

13 years agoAdd support for hydrogen control instructions with >2 successor blocks.
fschneider@chromium.org [Fri, 10 Jun 2011 12:09:48 +0000 (12:09 +0000)]
Add support for hydrogen control instructions with >2 successor blocks.

This change makes the number of successors of a control instruction
configurable with a template parameter and changes the existing instructions
to use it.

To iterate over all successors I added an iterator instead of always calling
First- and SecondSuccessor.
Review URL: http://codereview.chromium.org/7114004

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

13 years ago"Deiceolate" Thread classes.
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:54:04 +0000 (09:54 +0000)]
"Deiceolate" Thread classes.

Thread class was receiving an isolate parameter by default.
This approact violates the assumption that only VM threads
can have an associated isolate, and can lead to troubles,
because accessing the same isolate from different threads
leads to race conditions.

This was found by investigating mysterious failures of the
CPU profiler layout test on Linux Chromium. As almost all
threads were associated with some isolate, the sampler was
trying to sample them.

As a side effect, we have also fixed the DebuggerAgent test.

Thanks to Vitaly for help in fixing isolates handling!

R=vitalyr@chromium.org
BUG=none
TEST=none

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

13 years agoFix issue 1447 by not redefining properties unneccesarily in seal and freeze.
ager@chromium.org [Fri, 10 Jun 2011 09:45:02 +0000 (09:45 +0000)]
Fix issue 1447 by not redefining properties unneccesarily in seal and freeze.

This avoids attempting to redefine function.arguments with a different
value than the current one. function.arguments returns a new copy on
each invocation.

R=lrn@chromium.org
BUG=v8:1447
TEST=mjsunit/regress/regress-1447.js

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

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

13 years agoRevert accidental r8254..r8256
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:42:08 +0000 (09:42 +0000)]
Revert accidental r8254..r8256

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

13 years agotrying to fix test
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:36:35 +0000 (09:36 +0000)]
trying to fix test

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

13 years agotests compile but crash
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:36:18 +0000 (09:36 +0000)]
tests compile but crash

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

13 years agoremove isolate reference from threads
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:35:31 +0000 (09:35 +0000)]
remove isolate reference from threads

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

13 years agoRefactor platform-specific code for determining shared stub for keyed load/stores.
danno@chromium.org [Fri, 10 Jun 2011 07:49:49 +0000 (07:49 +0000)]
Refactor platform-specific code for determining shared stub for keyed load/stores.

R=ager@chromium.org
BUG=none
TEST=none

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

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

13 years agoRemove the flag --debug-info
sgjesse@chromium.org [Fri, 10 Jun 2011 07:15:46 +0000 (07:15 +0000)]
Remove the flag --debug-info

This flag has not bees set to false for years, and even when building without debugging support the position information is required for stack traces.

R=ager@chromium.org

BUG=none
TEST=none

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

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

13 years agoMIPS: port Dispatch on ElementsKind rather than ExternalArrayType ...
sgjesse@chromium.org [Fri, 10 Jun 2011 07:14:34 +0000 (07:14 +0000)]
MIPS: port Dispatch on ElementsKind rather than ExternalArrayType ...

Port r8244 (c90151c)

Orig commit msg:
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs
and Crankshaft code for many element operations. This is preparation to be
able to share more code in the various element accessor implementations.

BUG=
TEST=

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

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

13 years agoMIPS: port Link function contexts directly to the previous context.
sgjesse@chromium.org [Fri, 10 Jun 2011 07:13:07 +0000 (07:13 +0000)]
MIPS: port Link function contexts directly to the previous context.

Ported r8238 (7803ed7)

This commit would have also included changes to macro-assembler-mips.cc,
however Kevin M. did those changes in later commit r8248. (thx!)

BUG=
TEST=

Committed: http://code.google.com/p/v8/source/detail?r=8249

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

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

13 years agoMIPS: port Link function contexts directly to the previous context.
sgjesse@chromium.org [Fri, 10 Jun 2011 07:09:14 +0000 (07:09 +0000)]
MIPS: port Link function contexts directly to the previous context.

Ported r8238 (7803ed7)

This commit would have also included changes to macro-assembler-mips.cc,
however Kevin M. did those changes in later commit r8248. (thx!)

BUG=
TEST=

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

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

13 years agoUse the previous context link when checking context extension objects.
kmillikin@chromium.org [Thu, 9 Jun 2011 17:44:50 +0000 (17:44 +0000)]
Use the previous context link when checking context extension objects.

In generated code, when walking the context to inspect context extension
objects, use the previous context link directly.

R=ager@chromium.org
BUG=
TEST=

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

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

13 years agoFix bogus unreachable in debug code.
danno@chromium.org [Thu, 9 Jun 2011 16:20:41 +0000 (16:20 +0000)]
Fix bogus unreachable in debug code.

BUG=none
TEST=none
TBR=jkummerow@chromium.org

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

13 years agoGYP: Generate makefiles for all architectures on Linux
sgjesse@chromium.org [Thu, 9 Jun 2011 15:51:08 +0000 (15:51 +0000)]
GYP: Generate makefiles for all architectures on Linux

On Linux running gyp_v8 will generate makefiles for all architectures. On other platforms generate for ia32 only as that is what is currently supported.

The output (out) directory is still shared.

R=jkummerow@chromium.org

BUG=none
TEST=none

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

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

13 years agoSimplify the check when to perform loop invariant code motion.
fschneider@chromium.org [Thu, 9 Jun 2011 15:49:21 +0000 (15:49 +0000)]
Simplify the check when to perform loop invariant code motion.

Allow HChange instructions to be hoisted out of loops. To avoid
unnecessary code motion we don't hoist instructions from blocks that
have been marked containing an unconditional deoptimization.
Review URL: http://codereview.chromium.org/7003087

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

13 years agoDispatch on ElementsKind rather than ExternalArrayType when generating ICs and Cranks...
danno@chromium.org [Thu, 9 Jun 2011 15:19:37 +0000 (15:19 +0000)]
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs and Crankshaft code for many element operations. This is preparation to be able to share more code in the various element accessor implementations.

Merge logic to maintain external array and fast element stub caches.

BUG=none
TEST=none

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

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

13 years agofixed style mistake found in presubmit.py
yangguo@chromium.org [Thu, 9 Jun 2011 15:07:45 +0000 (15:07 +0000)]
fixed style mistake found in presubmit.py

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

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

13 years agoCorrect the limit of local variables in a optimized functions.
ager@chromium.org [Thu, 9 Jun 2011 14:52:58 +0000 (14:52 +0000)]
Correct the limit of local variables in a optimized functions.

The encoding constraint is that we have 128 values. We use [-64,0] for
parameters and [0,63] for locals. However, for locals we restricted to
64 and not 63.

R=kmillikin@chromium.org
TEST=mjsunit/compiler/regress-max-locals-for-osr.js

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

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

13 years agoadded --stress-opt option to d8
yangguo@chromium.org [Thu, 9 Jun 2011 14:28:49 +0000 (14:28 +0000)]
added --stress-opt option to d8

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

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

13 years agoMoved non-architecture-specific GetFooCodeStub functions to ic.cc, removing
svenpanne@chromium.org [Thu, 9 Jun 2011 13:26:18 +0000 (13:26 +0000)]
Moved non-architecture-specific GetFooCodeStub functions to ic.cc, removing
duplicate code and the need for 2 free-floating function prototypes.
Review URL: http://codereview.chromium.org/7134043

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

13 years agoGYP: Make the ARM simulator build with GYP again
sgjesse@chromium.org [Thu, 9 Jun 2011 12:48:11 +0000 (12:48 +0000)]
GYP: Make the ARM simulator build with GYP again

Updated the armu.gypi to set values for variables which does not have a default. These variables was recently added to v8.gyp.

Moved the what will be shared between building the v8 library and the cctests to a separate include file. For now this file is currently only used by cctest.gyp. the reason is that the cctests are not just using the API but also internal functions so the C++ defines and optons needs to be the same when compiling the cctests files as when compiling the v8 library files.

R=jkummerow@chromium.org
Review URL: http://codereview.chromium.org/7134039

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

13 years agoLink function contexts directly to the previous context.
kmillikin@chromium.org [Thu, 9 Jun 2011 12:45:26 +0000 (12:45 +0000)]
Link function contexts directly to the previous context.

Instead of NULL in the previous field of function contexts, put the previous
context.  This saves the indirection of fetching the previous through the
context's closure.

R=ager@chromium.org
BUG=
TEST=

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

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

13 years agoAdd boolean flag to HChange and LNumberUntagD to not convert undefined to NaN.
whesse@chromium.org [Thu, 9 Jun 2011 12:27:28 +0000 (12:27 +0000)]
Add boolean flag to HChange and LNumberUntagD to not convert undefined to NaN.

This is needed so that HCompare, optimized for double inputs, works correctly on undefined inputs.
BUG=v8:1434
TEST=mjsunit/bugs/bug-1434.js

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

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

13 years agoUpdate the blacklist in fuzz-natives.
kmillikin@chromium.org [Thu, 9 Jun 2011 11:40:22 +0000 (11:40 +0000)]
Update the blacklist in fuzz-natives.

Runtime functions were renamed in r8231.

R=ager@chromium.org
BUG=
TEST=

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

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

13 years agoA collection of context-related refactoring changes.
kmillikin@chromium.org [Thu, 9 Jun 2011 11:26:01 +0000 (11:26 +0000)]
A collection of context-related refactoring changes.

Introduce separate maps for function and with contexts.  Use the function
context map for testing whether a context is a function context (global
contexts are no longer function contexts).

Split the paths for allocating with and catch contexts.

Rename some functions.  Generally refactor code to make it simpler.

R=ager@chromium.org
BUG=
TEST=

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

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

13 years agoFix bug with GVN on array loads.
fschneider@chromium.org [Thu, 9 Jun 2011 11:15:03 +0000 (11:15 +0000)]
Fix bug with GVN on array loads.

This fixes a bug where an array load was incorrectly hoisted by GVN.

BUG=85177
TEST=mjsunit/regress/regress-85177.js
Review URL: http://codereview.chromium.org/7003054

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

13 years agoImplement core support for FixedDoubleArrays.
danno@chromium.org [Thu, 9 Jun 2011 10:03:35 +0000 (10:03 +0000)]
Implement core support for FixedDoubleArrays.

Under a flag without IC or Crankshaft support.

BUG=none
TEST=none

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

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