platform/upstream/v8.git
12 years agoFixed regression introduced in r9027.
yangguo@chromium.org [Fri, 26 Aug 2011 13:40:25 +0000 (13:40 +0000)]
Fixed regression introduced in r9027.

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

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

12 years agoOnly count uniquely named native scripts for debug.
mstarzinger@chromium.org [Fri, 26 Aug 2011 13:23:25 +0000 (13:23 +0000)]
Only count uniquely named native scripts for debug.

The debugger exposes all native script which might include duplicates
having the same name. This is triggered by debug-script in stress mode
on the gc branch.

R=sgjesse@chromium.org
BUG=v8:1641
TEST=mjsunit/debug-script

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

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

12 years agoTentative implementation of string slices (hidden under the flag --string-slices).
yangguo@chromium.org [Fri, 26 Aug 2011 13:03:30 +0000 (13:03 +0000)]
Tentative implementation of string slices (hidden under the flag --string-slices).
TEST=test/mjsunit/string-slices.js

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

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

12 years agoFixed regression introduced in r9023.
yangguo@chromium.org [Fri, 26 Aug 2011 11:56:12 +0000 (11:56 +0000)]
Fixed regression introduced in r9023.

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

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

12 years agoAdd a bunch of compile-time flags to the gyp build (and top-level Makefile)
jkummerow@chromium.org [Fri, 26 Aug 2011 11:23:51 +0000 (11:23 +0000)]
Add a bunch of compile-time flags to the gyp build (and top-level Makefile)

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

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

12 years agoChanged the order of arguments in the check as suggested to issue 1275.
yangguo@chromium.org [Fri, 26 Aug 2011 08:45:47 +0000 (08:45 +0000)]
Changed the order of arguments in the check as suggested to issue 1275.
BUG=v8:1275

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

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

12 years agoChanged some jumps to short jumps in IA32 generated code.
yangguo@chromium.org [Fri, 26 Aug 2011 08:22:13 +0000 (08:22 +0000)]
Changed some jumps to short jumps in IA32 generated code.

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

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

12 years agoCentralize code for freeing LargeObjectChunks, fixing an uncommit bug.
svenpanne@chromium.org [Fri, 26 Aug 2011 07:44:36 +0000 (07:44 +0000)]
Centralize code for freeing LargeObjectChunks, fixing an uncommit bug.

Due to heavy copy-n-paste, the handling of guard pages was inconsistent and we
didn't uncommit exactly the region we previously committed. Furthermore, the LOG
calls weren't consistent, either.
Review URL: http://codereview.chromium.org/7744025

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

12 years agoLanding: MIPS: Remove gp and sp from callee-saved register list.
fschneider@chromium.org [Fri, 26 Aug 2011 07:24:30 +0000 (07:24 +0000)]
Landing: MIPS: Remove gp and sp from callee-saved register list.

Original code review: http://codereview.chromium.org/7740018/
Review URL: http://codereview.chromium.org/7744050

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

12 years agoRefactor .gyp files:
jkummerow@chromium.org [Thu, 25 Aug 2011 14:50:09 +0000 (14:50 +0000)]
Refactor .gyp files:

common.gypi now contains global target defaults and is included by all .gyp files;
standalone.gypi contains definitions for stand-alone v8 builds.
This fixes d8 for the ARM simulator.

TEST=compiles and tests pass on all platforms

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

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

12 years agoChanged computation of func.caller to skip some built-in functions.
lrn@chromium.org [Thu, 25 Aug 2011 13:38:58 +0000 (13:38 +0000)]
Changed computation of func.caller to skip some built-in functions.
Now skips built-in functions called from other built-in functions,
so only the initally called built-in function is exposed.

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

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

12 years agoTwo tiny refactorings: Removed a bit of copy-n-paste. Moved LargeObjectChunk::Free...
svenpanne@chromium.org [Thu, 25 Aug 2011 13:35:15 +0000 (13:35 +0000)]
Two tiny refactorings: Removed a bit of copy-n-paste. Moved LargeObjectChunk::Free from header to implementation, it does a syscall, anyway.
Review URL: http://codereview.chromium.org/7744023

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

12 years agoAdded access check to Runtime_GetPrototype.
lrn@chromium.org [Thu, 25 Aug 2011 13:22:55 +0000 (13:22 +0000)]
Added access check to Runtime_GetPrototype.

BUG=93759

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

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

12 years agoLand two MIPS changes contributed by Paul Lind.
fschneider@chromium.org [Thu, 25 Aug 2011 12:12:25 +0000 (12:12 +0000)]
Land two MIPS changes contributed by Paul Lind.

1. Issue 7744014: MIPS: Fixed and optimized MacroAssembler::Trunc_uw_d, Cvt_d_uw, Ext, Ins. (http://codereview.chromium.org/7744014/)

2. Issue 7740019: MIPS: Fix for function argument access in non-strict mode. (http://codereview.chromium.org/7740019/)
Review URL: http://codereview.chromium.org/7741016

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

12 years agoFixed bool <-> Executability confusion and improved typing a bit.
svenpanne@chromium.org [Thu, 25 Aug 2011 10:55:44 +0000 (10:55 +0000)]
Fixed bool <-> Executability confusion and improved typing a bit.

Passing a value of type Executability to a function expecting a bool worked only
by accident (because of the order of values in the enum). But using boolean
parameters is often a bad idea, anyway, so we use Executability directly.

Just another example why implicit type conversions in C++ are a bad idea... :-P
Review URL: http://codereview.chromium.org/7753001

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

12 years agoMake FromPropertyDescriptor not trigger inherited setters.
lrn@chromium.org [Thu, 25 Aug 2011 09:07:43 +0000 (09:07 +0000)]
Make FromPropertyDescriptor not trigger inherited setters.

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

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

12 years agoPrepare push to trunk. Now working on version 3.5.9.
ricow@chromium.org [Wed, 24 Aug 2011 11:53:59 +0000 (11:53 +0000)]
Prepare push to trunk. Now working on version 3.5.9.
Review URL: http://codereview.chromium.org/7714033

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

12 years agoFixed the shared library build of D8 that was broken by r9005.
yangguo@chromium.org [Wed, 24 Aug 2011 10:48:48 +0000 (10:48 +0000)]
Fixed the shared library build of D8 that was broken by r9005.

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

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

12 years agoFixed minor bug in D8 related to mapping counters to a file.
yangguo@chromium.org [Wed, 24 Aug 2011 09:47:10 +0000 (09:47 +0000)]
Fixed minor bug in D8 related to mapping counters to a file.

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

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

12 years agoremoved executable bit in those files.
yangguo@chromium.org [Tue, 23 Aug 2011 13:57:37 +0000 (13:57 +0000)]
removed executable bit in those files.

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

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

12 years agoFix typo in assert.
lrn@chromium.org [Tue, 23 Aug 2011 13:23:30 +0000 (13:23 +0000)]
Fix typo in assert.
Also remove the requirement to have an AssertNoAllocation object when getting the flat content. We actually do allow allocation, it's just GC's we don't allow.

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

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

12 years agoHeap profiler: for objects of class "Object", try to lookup name
mikhail.naganov@gmail.com [Tue, 23 Aug 2011 12:24:54 +0000 (12:24 +0000)]
Heap profiler: for objects of class "Object", try to lookup name
from the constructor function. This works well for binding objects,
and this matches DevTools' algorithm for name assignment.

R=sgjesse@chromium.org
BUG=none
TEST=test-heap-profiler/GetConstructorName

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

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

12 years agoReplace ToAsciiVector and ToUC16Vector with single function that returns a tagged...
lrn@chromium.org [Tue, 23 Aug 2011 12:22:12 +0000 (12:22 +0000)]
Replace ToAsciiVector and ToUC16Vector with single function that returns a tagged value.

The tag tells whether the content is ASCII or UC16, or even if the string wasn't flat.

BUG: v8:1633

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

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

12 years agoFix ARM build for gcc-4.6.
erik.corry@gmail.com [Tue, 23 Aug 2011 12:00:09 +0000 (12:00 +0000)]
Fix ARM build for gcc-4.6.
This is based on Peter Varga's work in http://codereview.chromium.org/7708004/
but with a different solution for the Operand(0) int/pointer ambiguity.
Review URL: http://codereview.chromium.org/7706030

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

12 years agoPerform range analysis after GVN.
fschneider@chromium.org [Tue, 23 Aug 2011 11:19:08 +0000 (11:19 +0000)]
Perform range analysis after GVN.

This eliminate redundant HChange instructions and allows range information of
converted values propagated across control-flow splits.

It fixes the performance regression on code like:

if (x > 1) {
  y = x - 1;
}

where we should eliminate the overflow check on the sub inside the if-statement.
Review URL: http://codereview.chromium.org/7709025

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

12 years agoSlight API change enabling opting out from null termination in String::Write*().
yangguo@chromium.org [Tue, 23 Aug 2011 11:11:12 +0000 (11:11 +0000)]
Slight API change enabling opting out from null termination in String::Write*().
BUG=v8:1537
TEST=cctest test-api/StringWrite

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

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

12 years agoInsert representation changes before doing range analysis and fix a bug in Range...
fschneider@chromium.org [Tue, 23 Aug 2011 07:34:45 +0000 (07:34 +0000)]
Insert representation changes before doing range analysis and fix a bug in Range::Copy.

This improves our static type information by calculating the result type
of conversions (HChange) during range analysis. It allows e.g. to eliminate
the write barrier in the following example where it was not possible before:

function f(x) {
  var y = x + 1;
  if (y > 0 && y < 100) {
    a[0] = y;
  }
}

* Fix bug in Range::Copy. The minus-zero flags has to be preserved by default.
Review URL: http://codereview.chromium.org/7634022

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

12 years agoImprove memory usage of receiver type feedback.
vitalyr@chromium.org [Mon, 22 Aug 2011 14:23:37 +0000 (14:23 +0000)]
Improve memory usage of receiver type feedback.

Some AST nodes (Property, Call, etc.) store either a list of receiver
types or a monomorphic receiver type. This patch merges the two fields
using a small pointer list. GetMonomorphicReceiverType() is now a
purely convenience function returning the first and only recorded
type.

This saves about 500K (of about 39M) on average when compiling V8
benchmark as measured by a simple patch adding a zone allocation
counter (https://gist.github.com/1149397).

R=kmillikin@chromium.org

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

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

12 years agoInserted a missing string encoding check in lastIndexOf.
yangguo@chromium.org [Mon, 22 Aug 2011 13:55:25 +0000 (13:55 +0000)]
Inserted a missing string encoding check in lastIndexOf.

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

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

12 years agoEnsure that the current isolate is initialized in the API function Context::GetEntered.
svenpanne@chromium.org [Mon, 22 Aug 2011 13:04:14 +0000 (13:04 +0000)]
Ensure that the current isolate is initialized in the API function Context::GetEntered.

r8833 introduced a regression in our API semantics, showing up in e.g.
Chrome 12, which is fixed by this patch.
Review URL: http://codereview.chromium.org/7686005

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

12 years agoAdded forgotten V8EXPORT attributes for v8::Array::CheckCast and v8::Number::CheckCast.
yangguo@chromium.org [Mon, 22 Aug 2011 13:01:25 +0000 (13:01 +0000)]
Added forgotten V8EXPORT attributes for v8::Array::CheckCast and v8::Number::CheckCast.
BUG=v8:1618

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

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

12 years agoFix bug introduced by earlier "cleanup".
lrn@chromium.org [Mon, 22 Aug 2011 12:54:03 +0000 (12:54 +0000)]
Fix bug introduced by earlier "cleanup".

TEST=message/replacement-marker-as-argument

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

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

12 years agoPrepare push to trunk. Working version now 3.5.8.
rossberg@chromium.org [Mon, 22 Aug 2011 10:55:48 +0000 (10:55 +0000)]
Prepare push to trunk. Working version now 3.5.8.
Review URL: http://codereview.chromium.org/7697017

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

12 years agoPrune some internal objects' prototypes.
lrn@chromium.org [Mon, 22 Aug 2011 09:51:56 +0000 (09:51 +0000)]
Prune some internal objects' prototypes.

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

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

12 years agoMake instruction for write barrier smaller.
mstarzinger@chromium.org [Mon, 22 Aug 2011 09:10:47 +0000 (09:10 +0000)]
Make instruction for write barrier smaller.

R=yangguo@chromium.org
BUG=v8:1495

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

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

12 years agoMIPS: port Parse harmony let declarations.
keuchel@chromium.org [Mon, 22 Aug 2011 09:05:28 +0000 (09:05 +0000)]
MIPS: port Parse harmony let declarations.

Port r8944 (a5a36f4)

Original commit message:
Implementation of the harmony block scoped let bindings as proposed here:
http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings
Changes to the syntax are explained there. They are active under the
harmony_block_scoping_ flag in the parser.

BUG=
TEST=

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

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

12 years agoMIPS: port Clean up the nesting stack in the full code generator.
whesse@chromium.org [Mon, 22 Aug 2011 09:00:27 +0000 (09:00 +0000)]
MIPS: port Clean up the nesting stack in the full code generator.

Port 8972 (6a896b3)

Original commit message:
Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.

BUG=
TEST=

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

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

12 years agoSimplified the sample shell. Resort to D8 shell for tests instead.
yangguo@chromium.org [Fri, 19 Aug 2011 11:13:26 +0000 (11:13 +0000)]
Simplified the sample shell. Resort to D8 shell for tests instead.

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

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

12 years agoMake regexp flag parsing stricter.
lrn@chromium.org [Fri, 19 Aug 2011 11:02:41 +0000 (11:02 +0000)]
Make regexp flag parsing stricter.

BUG=v8:1628
TEST=mjsunit/regress/regress-219

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

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

12 years agoClean up the nesting stack in the full code generator.
kmillikin@chromium.org [Fri, 19 Aug 2011 09:54:08 +0000 (09:54 +0000)]
Clean up the nesting stack in the full code generator.

Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.

BUG=
TEST=

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

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

12 years agoRemove trailing whitespaces from *.js files.
ricow@chromium.org [Fri, 19 Aug 2011 05:24:39 +0000 (05:24 +0000)]
Remove trailing whitespaces from *.js files.

This is a whitespace removal only change
Review URL: http://codereview.chromium.org/7687001

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

12 years agoMake scanner handle invalid unicode escapes in identifiers correctly.
lrn@chromium.org [Thu, 18 Aug 2011 12:47:23 +0000 (12:47 +0000)]
Make scanner handle invalid unicode escapes in identifiers correctly.

I.e., don't just convert \u to u in identifiers (like in strings and regexps).

Also make the scanning of RegExp flags not interpret the escapes.

(Fix and reapply of r8942)

BUG=v8:1620
TEST=mjsunit/regress/regress-1620

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

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

12 years agoFix another handful of memory leaks
jkummerow@chromium.org [Thu, 18 Aug 2011 12:33:40 +0000 (12:33 +0000)]
Fix another handful of memory leaks

TEST=valgrind reports 0 bytes definitely lost for cctest/test-api/RunTwoIsolatesOnSingleThread

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

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

12 years agoFix three ~Isolate() related memory leaks
jkummerow@chromium.org [Thu, 18 Aug 2011 12:14:12 +0000 (12:14 +0000)]
Fix three ~Isolate() related memory leaks

BUG=93253
TEST=running valgrind on cctest/test-api/RunTwoIsolatesOnSingleThread reports fewer leaks than before

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

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

12 years agoUnify GetElement handlers in ElementsAccessor
danno@chromium.org [Thu, 18 Aug 2011 09:51:08 +0000 (09:51 +0000)]
Unify GetElement handlers in ElementsAccessor

BUG=none
TEST=external-arrays.js

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

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

12 years agoRemove redundant implementation of UnionOfKeys
danno@chromium.org [Thu, 18 Aug 2011 09:20:32 +0000 (09:20 +0000)]
Remove redundant implementation of UnionOfKeys

R=svenpanne@chromium.org
BUG=none
TEST=external-arrays.js

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

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

12 years agoUse InternalArray in Object.defineProperties to avoid issues with overwriten properti...
ricow@chromium.org [Thu, 18 Aug 2011 08:39:06 +0000 (08:39 +0000)]
Use InternalArray in Object.defineProperties to avoid issues with overwriten properties on Array.prototype

TEST=mjsunit/regress/regress-1625
BUG=v8:1625
Review URL: http://codereview.chromium.org/7631039

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

12 years agoImplement UnionOfKeys for NonStrictArguments
danno@chromium.org [Wed, 17 Aug 2011 16:15:30 +0000 (16:15 +0000)]
Implement UnionOfKeys for NonStrictArguments

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

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

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

12 years agoGYP fixes: -Werror, snapshot.log, want_separate_host_toolset detection
jkummerow@chromium.org [Wed, 17 Aug 2011 15:56:54 +0000 (15:56 +0000)]
GYP fixes: -Werror, snapshot.log, want_separate_host_toolset detection

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

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

12 years agoPrepare push to trunk. Now working on version 3.5.7.
danno@chromium.org [Wed, 17 Aug 2011 13:55:05 +0000 (13:55 +0000)]
Prepare push to trunk.  Now working on version 3.5.7.

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

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

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

12 years agoFixed scanner initialization in test-parsing.
keuchel@chromium.org [Wed, 17 Aug 2011 11:45:04 +0000 (11:45 +0000)]
Fixed scanner initialization in test-parsing.

BUG=
TEST=

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

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

12 years agoInitialize harmony block scoping field in scanner.
keuchel@chromium.org [Wed, 17 Aug 2011 11:17:59 +0000 (11:17 +0000)]
Initialize harmony block scoping field in scanner.

BUG=
TEST=

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

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

12 years agoRemove some unnecessary namespace alias definitions.
mikhail.naganov@gmail.com [Wed, 17 Aug 2011 10:29:05 +0000 (10:29 +0000)]
Remove some unnecessary namespace alias definitions.

We can pick the namespace alias 'i' from v8.h which is already included
in those files.

BUG=None
TEST=None

R=mnaganov@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7621035

--------------

Inline the implementation of Handle default ctor.

BUG=None
TEST=None

R=mnaganov@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7669013

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

12 years agoFix GC unsafe place in JSProxy::DeletePropertyWithHandler.
vegorov@chromium.org [Wed, 17 Aug 2011 09:51:20 +0000 (09:51 +0000)]
Fix GC unsafe place in JSProxy::DeletePropertyWithHandler.
Review URL: http://codereview.chromium.org/7670023

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

12 years agoBugs in x64 ICs introduced by array length refactor.
danno@chromium.org [Wed, 17 Aug 2011 09:39:03 +0000 (09:39 +0000)]
Bugs in x64 ICs introduced by array length refactor.

BUG=chromium:93044
TEST=external-array.js

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

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

12 years agofix compilation with gcc 4.6
mstarzinger@chromium.org [Wed, 17 Aug 2011 09:22:58 +0000 (09:22 +0000)]
fix compilation with gcc 4.6

* src/bootstrapper.cc (Genesis::InitializeExperimentalGlobal): Remove
  assigned-but-unused var.

BUG=
TEST=passes test suite, modulo http://code.google.com/p/v8/issues/detail?id=1621

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

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

12 years agoFix memory leaks in ~Zone and ~Isolate
jkummerow@chromium.org [Wed, 17 Aug 2011 08:48:54 +0000 (08:48 +0000)]
Fix memory leaks in ~Zone and ~Isolate

TEST=chromium valgrind bots

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

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

12 years agoFix compilation on Linux 2.6.9 and older.
erik.corry@gmail.com [Wed, 17 Aug 2011 08:24:36 +0000 (08:24 +0000)]
Fix compilation on Linux 2.6.9 and older.
Review URL: http://codereview.chromium.org/7655016

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

12 years agoRevert 8942 "Make scanner not accept invalid unicode escapes in identifiers"
ricow@chromium.org [Wed, 17 Aug 2011 08:22:41 +0000 (08:22 +0000)]
Revert 8942 "Make scanner not accept invalid unicode escapes in identifiers"

This is causing webkit failures, reverting until we figure out if this is a V8 regression or wrong test expectations.
Review URL: http://codereview.chromium.org/7669017

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

12 years agoFix potentially GC unsafe place in JSObject::DeleteElementWithInterceptor.
vegorov@chromium.org [Tue, 16 Aug 2011 15:51:49 +0000 (15:51 +0000)]
Fix potentially GC unsafe place in JSObject::DeleteElementWithInterceptor.
Review URL: http://codereview.chromium.org/7660012

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

12 years agoPresubmit fix.
keuchel@chromium.org [Tue, 16 Aug 2011 15:15:34 +0000 (15:15 +0000)]
Presubmit fix.

BUG=
TEST=

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

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

12 years agoParse harmony let declarations.
keuchel@chromium.org [Tue, 16 Aug 2011 14:24:12 +0000 (14:24 +0000)]
Parse harmony let declarations.

Implementation of the harmony block scoped let bindings as proposed here:
http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings

Changes to the syntax are explained there. They are active under the
harmony_block_scoping_ flag in the parser.

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

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

12 years agoUse immediates when possible for HBoundsCheck and HLoadKeyedFastElement
jkummerow@chromium.org [Tue, 16 Aug 2011 13:32:27 +0000 (13:32 +0000)]
Use immediates when possible for HBoundsCheck and HLoadKeyedFastElement

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

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

12 years agoMake scanner not accept invalid unicode escapes in identifiers.
lrn@chromium.org [Tue, 16 Aug 2011 13:31:08 +0000 (13:31 +0000)]
Make scanner not accept invalid unicode escapes in identifiers.

BUG=v8:1620
TEST=mjsunit/regress/regress-1620

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

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

12 years agoFix issue with prototype of WeakMap constructor.
mstarzinger@chromium.org [Tue, 16 Aug 2011 12:09:47 +0000 (12:09 +0000)]
Fix issue with prototype of WeakMap constructor.

The WeakMap constructor didn't have a unique prototype, so it shared one with
Object. All WeakMap functions (including "get" and "set") were installed on
that prototype.

R=rossberg@chromium.org
BUG=v8:1617
TEST=mjsunit/harmony/weakmaps

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

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

12 years agoFix live-object-list to work with isolates.
danno@chromium.org [Tue, 16 Aug 2011 11:47:06 +0000 (11:47 +0000)]
Fix live-object-list to work with isolates.

TEST: Build v8 with live-object-list enabled.

Review URL: http://codereview.chromium.org/7398025
Patch from Alexander Miller <Alexander.Miller@palm.com>.

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

12 years agoMIPS: port Implement Harmony semantics for typeof null (behind a flag).
rossberg@chromium.org [Tue, 16 Aug 2011 10:08:50 +0000 (10:08 +0000)]
MIPS: port Implement Harmony semantics for typeof null (behind a flag).

Port r8876 (2aeeae7)

Original commit message:
Harmony is intended to make typeof null === "null". This may
break existing programs. Implementing it will allow us to run
some tests on the actual web.

BUG=
TEST=

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

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

12 years agoRefactored DirectCEntryStub::GenerateCall a bit to make it clearer what's going on...
svenpanne@chromium.org [Tue, 16 Aug 2011 09:58:34 +0000 (09:58 +0000)]
Refactored DirectCEntryStub::GenerateCall a bit to make it clearer what's going on and added an ASSERT.
Review URL: http://codereview.chromium.org/7640016

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

12 years agoMIPS: port Simplify handling of exits from with and catch.
kmillikin@chromium.org [Tue, 16 Aug 2011 08:48:45 +0000 (08:48 +0000)]
MIPS: port Simplify handling of exits from with and catch.

Ported r8922 (5ea2fb5)

Original commit message:
Remove the try/finally used for with and catch. Instead of using
try/finally to handle break and continue from with or catch,
statically track nesting dept and clean up when compiling break or
continue.
And instead of using try/finally to handle throw to handler in a frame
whose pc is inside a with or catch, store the context that the handler
should run in in the handler itself.

BUG=
TEST=

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

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

12 years agoReturn error not null for date time format.
cira@chromium.org [Mon, 15 Aug 2011 22:29:03 +0000 (22:29 +0000)]
Return error not null for date time format.

BUG=v8:1602
TEST=new (new v8Locale().createDateTimeFormat()).getWeekdays should return Error not a Null.
Review URL: http://codereview.chromium.org/7647027

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

12 years agoAdd FIXED_DOUBLE_ARRAY_TYPE to INSTANCE_TYPE_LIST_ALL in objects.h
ricow@chromium.org [Mon, 15 Aug 2011 12:55:18 +0000 (12:55 +0000)]
Add FIXED_DOUBLE_ARRAY_TYPE to INSTANCE_TYPE_LIST_ALL in objects.h

Leaving this out can cause crashes when running with --heap-stats (but this is only used when reporting heap statistics, so this is not a stability issue).
Review URL: http://codereview.chromium.org/7647018

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

12 years agoPrepare push to trunk. Now working on version 3.5.6.
whesse@chromium.org [Mon, 15 Aug 2011 10:39:51 +0000 (10:39 +0000)]
Prepare push to trunk.  Now working on version 3.5.6.
Review URL: http://codereview.chromium.org/7645020

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

13 years agoChange AddElementsToFixedArray to work on FixedArrayBase rather than JSObject
danno@chromium.org [Fri, 12 Aug 2011 14:52:03 +0000 (14:52 +0000)]
Change AddElementsToFixedArray to work on FixedArrayBase rather than JSObject

In the process, make ElementsAccessors work internally more seamlessly with FixedArrayBase.

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

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

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

13 years agoChange JSObject elements to be of type FixedArrayBase
danno@chromium.org [Fri, 12 Aug 2011 13:54:27 +0000 (13:54 +0000)]
Change JSObject elements to be of type FixedArrayBase

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

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

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

13 years agoSimplify handling of exits from with and catch.
kmillikin@chromium.org [Fri, 12 Aug 2011 10:52:49 +0000 (10:52 +0000)]
Simplify handling of exits from with and catch.

Remove the try/finally used for with and catch.  Instead of using
try/finally to handle break and continue from with or catch,
statically track nesting dept and clean up when compiling break or
continue.

And instead of using try/finally to handle throw to handler in a frame
whose pc is inside a with or catch, store the context that the handler
should run in in the handler itself.

BUG=
TEST=

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

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

13 years agoAdd roundsd instruction to ia32 and use it in optimized Math.floor.
fschneider@chromium.org [Fri, 12 Aug 2011 10:13:40 +0000 (10:13 +0000)]
Add roundsd instruction to ia32 and use it in optimized Math.floor.

It is available platforms that have SSE 4.1 and allows us to handle
negative numbers without deoptimization. Before we would deoptimize
on negative inputs to Math.floor. x64 already uses this instruction.

* Change Math.floor unit test to make sure every test case gets
optimized by changing the source code for each test case.

* Fix HIR debug printing for some instructions.
Review URL: http://codereview.chromium.org/7628017

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

13 years agoUpdate .gitignore to include out/ directory created by Gyp/Make builds
mikhail.naganov@gmail.com [Fri, 12 Aug 2011 09:52:41 +0000 (09:52 +0000)]
Update .gitignore to include out/ directory created by Gyp/Make builds

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

13 years agoPick the namespace alias 'i' from v8.h.
mikhail.naganov@gmail.com [Fri, 12 Aug 2011 09:49:55 +0000 (09:49 +0000)]
Pick the namespace alias 'i' from v8.h.

These files already include v8.h so they don't need to define the
namespace alias again.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7640012

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

13 years agoDo not use deprecated ARM instructions in DirectCEntryStub::GenerateCall.
svenpanne@chromium.org [Fri, 12 Aug 2011 08:45:17 +0000 (08:45 +0000)]
Do not use deprecated ARM instructions in DirectCEntryStub::GenerateCall.

Non-ancient versions of the ARM-ARM explicitly deprecate most uses of the PC
within instructions and older ARM implementations have a non-predictable offset
(8 or 12) for some of these deprecated uses. Avoiding the deprecated instruction
costs us one additional instruction in DirectCEntryStub::GenerateCall, but this
should not cause any significant performance degradation.

The deoptimizer still uses the PC in a stm instruction, but it is a bit unclear
what to do about that, so simply a comment has been added to reconsider this in
the future.
Review URL: http://codereview.chromium.org/7633014

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

13 years agoLanding change for bradnelson@google.com from http://codereview.chromium.org/7616013/ :
iposva@chromium.org [Thu, 11 Aug 2011 22:41:07 +0000 (22:41 +0000)]
Landing change for bradnelson@google.com from codereview.chromium.org/7616013/ :

Dropping removed source file from the gyp build description.

BUG=None
TEST=None
R=iposva@chromium.org

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

13 years agoPreliminary code for block scopes and block contexts.
keuchel@chromium.org [Thu, 11 Aug 2011 16:29:28 +0000 (16:29 +0000)]
Preliminary code for block scopes and block contexts.

BUG=
TEST=

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

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

13 years agoRollback of r8903
yangguo@chromium.org [Thu, 11 Aug 2011 16:11:07 +0000 (16:11 +0000)]
Rollback of r8903

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

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

13 years agoQuick fix to issue 1593
yangguo@chromium.org [Thu, 11 Aug 2011 15:18:55 +0000 (15:18 +0000)]
Quick fix to issue 1593
BUG=v8:1593

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

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

13 years agoCreate a common base class for Fixed-, FixedDouble- and ExternalArrays.
danno@chromium.org [Thu, 11 Aug 2011 14:00:16 +0000 (14:00 +0000)]
Create a common base class for Fixed-, FixedDouble- and ExternalArrays.

Also unify Crankshaft code to load array length.

BUG=v8:1493
TEST=external-arrays.js

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

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

13 years agoOutput missing comments after the last disassembled instruction.
svenpanne@chromium.org [Thu, 11 Aug 2011 13:59:29 +0000 (13:59 +0000)]
Output missing comments after the last disassembled instruction.
Review URL: http://codereview.chromium.org/7623014

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

13 years agoThird attempt to fix ARM cross-compile build
jkummerow@chromium.org [Thu, 11 Aug 2011 13:58:28 +0000 (13:58 +0000)]
Third attempt to fix ARM cross-compile build

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

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

13 years agoFixed printing of deoptimization input data without --print-code-verbose.
svenpanne@chromium.org [Thu, 11 Aug 2011 13:56:09 +0000 (13:56 +0000)]
Fixed printing of deoptimization input data without --print-code-verbose.
Review URL: http://codereview.chromium.org/7617008

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

13 years agoRemoved some arbitrary size restrictions when disassembling generated code.
svenpanne@chromium.org [Thu, 11 Aug 2011 12:52:37 +0000 (12:52 +0000)]
Removed some arbitrary size restrictions when disassembling generated code.

We output line-by-line now, this avoids hitting StringBuffer ASSERTs when
disassembling huge code objects.
Review URL: http://codereview.chromium.org/7622006

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

13 years agoRevert some .gyp refactoring to fix ARM cross-compilation
jkummerow@chromium.org [Thu, 11 Aug 2011 12:07:37 +0000 (12:07 +0000)]
Revert some .gyp refactoring to fix ARM cross-compilation

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

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

13 years agoMake threaded tests not use static fields for communication.
lrn@chromium.org [Thu, 11 Aug 2011 09:08:44 +0000 (09:08 +0000)]
Make threaded tests not use static fields for communication.

TEST=cctest/Threaded4

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

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

13 years agoRemove unused code from runtime profiler.
fschneider@chromium.org [Thu, 11 Aug 2011 08:26:01 +0000 (08:26 +0000)]
Remove unused code from runtime profiler.
Review URL: http://codereview.chromium.org/7617003

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

13 years agoSimplify and optimize ToBoolean handling.
svenpanne@chromium.org [Thu, 11 Aug 2011 07:22:16 +0000 (07:22 +0000)]
Simplify and optimize ToBoolean handling.

Changing our builtin JavaScript code slightly, we can make sure that we never
see internal objects as arguments for ToBoolean at runtime. Removing that case
from the stub generator and crankshaft makes things a lot easier.

Heap numbers can never be undetectable (only strings and spec objects can), so
we can leave out a useless test.

Try to re-use a non-null register value when returning 'true' in some cases.

Removed special handling of the 'handle all' case, it will very probably never
happen in real code and only makes things more complicated.

Improved naming of the ToBoolean stubs a bit, reflecting the order in which
cases are handled in the code itself.
Review URL: http://codereview.chromium.org/7497063

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

13 years agoAllows not API functions as inputs for CreationConext method.
antonm@chromium.org [Thu, 11 Aug 2011 06:40:14 +0000 (06:40 +0000)]
Allows not API functions as inputs for CreationConext method.

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

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

13 years agoFix fun.apply(receiver, arguments) optimization.
vitalyr@chromium.org [Wed, 10 Aug 2011 16:05:17 +0000 (16:05 +0000)]
Fix fun.apply(receiver, arguments) optimization.

R=kmillikin@chromium.org
BUG=v8:1592
TEST=mjsunit/regress/regress-1592.js

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

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

13 years agoFix cross-compilation for ARM (hopefully)
jkummerow@chromium.org [Wed, 10 Aug 2011 14:07:26 +0000 (14:07 +0000)]
Fix cross-compilation for ARM (hopefully)

TEST=Arm builder on Chromium waterfall successfully compiles

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

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

13 years agoFix x64 build.
fschneider@chromium.org [Wed, 10 Aug 2011 13:11:14 +0000 (13:11 +0000)]
Fix x64 build.

TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/7604034

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

13 years agoFix three bugs with handling negative zero in the optimizing compiler.
fschneider@chromium.org [Wed, 10 Aug 2011 12:32:43 +0000 (12:32 +0000)]
Fix three bugs with handling negative zero in the optimizing compiler.

* Bug fix for range analysis (contributed by Andy Wingo). Ranges of
double values have to include negative zero. Original code review:
 http://codereview.chromium.org/7514040/

* Fix a bug in optimized Math.round on ARM. When emitting minus-zero checks
we previously return a wrong result because of incorrect register assignment.

* Fix performance problem in IA32 and x64. Refine the checks
for minus zero and avoid unnecessary deoptimizations on Math.floor.

* Improve mjsunit test for Math.round to make sure we also
 get the optimized version of the code for each test case.
Review URL: http://codereview.chromium.org/7604028

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

13 years agoImplement Harmony semantics for typeof null (behind a flag).
rossberg@chromium.org [Wed, 10 Aug 2011 12:12:06 +0000 (12:12 +0000)]
Implement Harmony semantics for typeof null (behind a flag).

Harmony is intended to make typeof null === "null". This may
break existing programs. Implementing it will allow us to run
some tests on the actual web.

R=kmillikin@chromium.org
BUG=
TEST=

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

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

13 years agoPrepare push to trunk. Now working on version 3.5.5.
kmillikin@chromium.org [Wed, 10 Aug 2011 11:22:23 +0000 (11:22 +0000)]
Prepare push to trunk.  Now working on version 3.5.5.

R=danno@chromium.org
BUG=
TEST=

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

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

13 years agoAllow snapshots to be generated without using vfp3 code on arm.
ricow@chromium.org [Wed, 10 Aug 2011 11:14:32 +0000 (11:14 +0000)]
Allow snapshots to be generated without using vfp3 code on arm.

There is currently no way of specifying that the snapshot build by scons should be created without using the vfp3 instructions.
Review URL: http://codereview.chromium.org/7604031

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