platform/upstream/v8.git
13 years agolinux: extend the ifdefs in shell.cc to cover V8_SHARED too
ager@chromium.org [Mon, 30 May 2011 06:10:41 +0000 (06:10 +0000)]
linux: extend the ifdefs in shell.cc to cover V8_SHARED too

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

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

13 years agoCorrectly set the length of string before creating filler object in the json parser...
ricow@chromium.org [Mon, 30 May 2011 06:04:36 +0000 (06:04 +0000)]
Correctly set the length of string before creating filler object in the json parser (fixes crbug 84186).

Testcase created based on the supplied test case from the bug report, but using json parse directly instead of through the chrome javascript console.
Review URL: http://codereview.chromium.org/7084023

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

13 years agoFix Win compilation issue introduced in r8081.
sandholm@chromium.org [Thu, 26 May 2011 14:41:11 +0000 (14:41 +0000)]
Fix Win compilation issue introduced in r8081.
Review URL: http://codereview.chromium.org/7074009

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

13 years agoDouble allocation size for special json strings on every resize (fixes
ricow@chromium.org [Thu, 26 May 2011 14:03:30 +0000 (14:03 +0000)]
Double allocation size for special json strings on every resize (fixes
crbug 83877)

The issue was that with the relatively small start and increment size of the string we created a ton of string handles when scanning a large string with special characters (500k+ in this case).

In addition, since we can not be sure the the newly allocated string
is in newspace a check is introduced and if not a filler object is
inserted instead of shrinking.
Review URL: http://codereview.chromium.org/7075009

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

13 years agoJSON.stringify improvement. Fast case in C++ for string arrays.
sandholm@chromium.org [Thu, 26 May 2011 13:58:48 +0000 (13:58 +0000)]
JSON.stringify improvement. Fast case in C++ for string arrays.
Review URL: http://codereview.chromium.org/7077004

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

13 years agoARM: Avoid using ldrd/strd with post increment
sgjesse@chromium.org [Thu, 26 May 2011 13:52:14 +0000 (13:52 +0000)]
ARM: Avoid using ldrd/strd with post increment

These instructions seems to cause problems in some situations. This reverts parts of r7873.

R=erik.corry@gmail.com

BUG=none
TEST=none

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

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

13 years agoFix stray character in last build
danno@chromium.org [Thu, 26 May 2011 12:16:13 +0000 (12:16 +0000)]
Fix stray character in last build

TBR=kmillikin@chromium.org

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

13 years agoPrevent deopt on double value assignment to typed arrays
danno@chromium.org [Thu, 26 May 2011 12:07:22 +0000 (12:07 +0000)]
Prevent deopt on double value assignment to typed arrays

Implement truncation of double and tagged values when assigning to an element of a typed arrays in order to avoid depots.

BUG=1313
TEST=test/mjsunit/external-array.js

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

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

13 years agoRevert "Pass undefined to JS builtins when called with implicit receiver."
ager@chromium.org [Thu, 26 May 2011 11:22:29 +0000 (11:22 +0000)]
Revert "Pass undefined to JS builtins when called with implicit receiver."

Presubmit and failing test.

TBR=lrn@chromium.org
BUG=
TEST=

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

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

13 years agoAdd a simple test for inlining of arguments accesses.
kmillikin@chromium.org [Thu, 26 May 2011 11:17:15 +0000 (11:17 +0000)]
Add a simple test for inlining of arguments accesses.

R=whesse@chromium.org
BUG=
TEST=

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

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

13 years agoPass undefined to JS builtins when called with implicit receiver.
ager@chromium.org [Thu, 26 May 2011 11:07:48 +0000 (11:07 +0000)]
Pass undefined to JS builtins when called with implicit receiver.

A couple of corner cases have to be treated specially to not break
everything: eval and getter/setter definitions.

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

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

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

13 years agoDo not allow inlining functions with direct arguments access.
kmillikin@chromium.org [Thu, 26 May 2011 10:56:07 +0000 (10:56 +0000)]
Do not allow inlining functions with direct arguments access.

Our implementations of arguments without materializing the arguments
object (based on inspecting the stack frame) does not work for inlined
functions.  Guard all attempts by disallowing them if possible or else
bailing out of the optimizing compiler.

R=fschneider@chromium.org
BUG=
TEST=

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

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

13 years agoMIPS: Added the stop() instruction with same behavior as on Arm simulator.
sgjesse@chromium.org [Thu, 26 May 2011 07:46:18 +0000 (07:46 +0000)]
MIPS: Added the stop() instruction with same behavior as on Arm simulator.

The already working watchpoint break mechanism has been extended to handle "stop" instructions, with text messages.

Explanation (also in constants-mips.h):
On MIPS Simulator breakpoints can have different codes:
- Breaks between 0 and kMaxWatchpointCode are treated as simple watchpoints, the simulator will run through them and print the registers.
- Breaks between kMaxWatchpointCode and kMaxStopCode are treated as stop() instructions (see Assembler::stop()).
- Breaks larger than kMaxStopCode are simple breaks, dropping you into the debugger.

The current values are 31 for kMaxWatchpointCode and 127 for kMaxStopCode.
From the user's point of view this works the same way as the ARM stop instruction except for the break code usage detailed above.

Ported commits: r5723 (3ba78d24)

BUG=
TEST=

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

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

13 years agoMake RegExp objects not callable.
lrn@chromium.org [Thu, 26 May 2011 07:35:09 +0000 (07:35 +0000)]
Make RegExp objects not callable.

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

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

13 years agoMIPS: port Fix GC-unsafe corner case in bit-not on ARM.
sgjesse@chromium.org [Thu, 26 May 2011 07:02:35 +0000 (07:02 +0000)]
MIPS: port Fix GC-unsafe corner case in bit-not on ARM.

Port r8055 to mips.
(5b50df9c)

BUG=
TEST=

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

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

13 years agoLanding http://codereview.chromium.org/7033038 for jshin.
cira@chromium.org [Wed, 25 May 2011 22:18:41 +0000 (22:18 +0000)]
Landing codereview.chromium.org/7033038 for jshin.

Make 'ignoreCase' work in collator.

BUG=28604
TEST=http://www.i18nl10n.com/chrome/coll.html
Review URL: http://codereview.chromium.org/7008023

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

13 years agoAdd fast cases for flat comparison to String::Is{Ascii,TwoByte}EqualTo.
vitalyr@chromium.org [Wed, 25 May 2011 17:07:05 +0000 (17:07 +0000)]
Add fast cases for flat comparison to String::Is{Ascii,TwoByte}EqualTo.

R=ager@chromium.org

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

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

13 years agotools/stats-viewer: Update chromium stats table layout.
vitalyr@chromium.org [Wed, 25 May 2011 16:47:54 +0000 (16:47 +0000)]
tools/stats-viewer: Update chromium stats table layout.

R=vegorov@chromium.org

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

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

13 years agoUntank the build.
erik.corry@gmail.com [Wed, 25 May 2011 12:40:04 +0000 (12:40 +0000)]
Untank the build.
Review URL: http://codereview.chromium.org/6992061

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

13 years agoAdd comment better explaining the calling-stubs-from-stubs issue.
erik.corry@gmail.com [Wed, 25 May 2011 12:26:15 +0000 (12:26 +0000)]
Add comment better explaining the calling-stubs-from-stubs issue.
Review URL: http://codereview.chromium.org/7031046

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

13 years agoAdd a comment about map collection into MarkCompactCollector::MarkUnmarkedObject.
vegorov@chromium.org [Wed, 25 May 2011 10:49:48 +0000 (10:49 +0000)]
Add a comment about map collection into MarkCompactCollector::MarkUnmarkedObject.

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

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

13 years agoFix GC-unsafe corner case in bit-not on ARM
erik.corry@gmail.com [Wed, 25 May 2011 10:35:00 +0000 (10:35 +0000)]
Fix GC-unsafe corner case in bit-not on ARM
Review URL: http://codereview.chromium.org/6987009

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

13 years agoChange calls to undefined property setters to not throw (fixes issue 1355).
ricow@chromium.org [Wed, 25 May 2011 08:37:38 +0000 (08:37 +0000)]
Change calls to undefined property setters to not throw (fixes issue 1355).

We currently throw when there is only a getter defined on the
property, but this should only be the case in strict mode.
Review URL: http://codereview.chromium.org/7064027

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

13 years agoPrepare push to trunk. Now working on version 3.4.0.
danno@chromium.org [Wed, 25 May 2011 07:37:14 +0000 (07:37 +0000)]
Prepare push to trunk.  Now working on version 3.4.0.

R=ager@chromium.org

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

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

13 years agoMIPS: Fixed two bugs related to double function calls.
sgjesse@chromium.org [Wed, 25 May 2011 06:41:39 +0000 (06:41 +0000)]
MIPS: Fixed two bugs related to double function calls.

These originated from 4dfb7f2e.
This fixes cctest test-api/ConversionNumber in soft-float mode.

BUG=
TEST=

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

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

13 years agoMIPS: port Fix calls of strict mode function with an implicit receiver.
ager@chromium.org [Wed, 25 May 2011 06:04:01 +0000 (06:04 +0000)]
MIPS: port Fix calls of strict mode function with an implicit receiver.

Port of r8040 to mips.

Original commit message:
Strict mode functions are to get 'undefined' as the receiver when
called with an implicit receiver. Modes are bad! It forces us to have
checks on all function calls.
This change attempts to limit the cost by passing information about
whether or not a call is with an implicit or explicit receiver in ecx
as part of the calling convention. The cost is setting ecx on all
calls and checking ecx on entry to strict mode functions.
Implicit/explicit receiver state has to be maintained by ICs. Various
stubs have to not clobber ecx or save and restore it.
CallFunction stub needs to check if the receiver is implicit when it
doesn't know from the context.

BUG=
TEST=

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

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

13 years agoMigrate flag from bit_field2 to bit_field3
danno@chromium.org [Tue, 24 May 2011 21:07:55 +0000 (21:07 +0000)]
Migrate flag from bit_field2 to bit_field3

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

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

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

13 years agoEnsure that external pixel arrays use a byte register in Crankshaft.
whesse@chromium.org [Tue, 24 May 2011 16:23:22 +0000 (16:23 +0000)]
Ensure that external pixel arrays use a byte register in Crankshaft.

BUG=v8:1406
TEST=fast/canvas/canvas-putImageData.html

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

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

13 years agoRemove some dead code from full-codegen on all platforms.
whesse@chromium.org [Tue, 24 May 2011 15:11:48 +0000 (15:11 +0000)]
Remove some dead code from full-codegen on all platforms.

BUG=
TEST=

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

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

13 years agoPlatform and build updates for Android build
sgjesse@chromium.org [Tue, 24 May 2011 14:49:02 +0000 (14:49 +0000)]
Platform and build updates for Android build

R=ager@chromium.org

BUG=none
TEST=none

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

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

13 years agoAdd tests for function statements in strict mode.
lrn@chromium.org [Tue, 24 May 2011 14:02:59 +0000 (14:02 +0000)]
Add tests for function statements in strict mode.

Small fixes.
Added test for const declaration in strict mode.

TEST=preparser/strict-function-statement

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

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

13 years agoFix calls of strict mode function with an implicit receiver.
ager@chromium.org [Tue, 24 May 2011 14:01:36 +0000 (14:01 +0000)]
Fix calls of strict mode function with an implicit receiver.

Only IA32 version for now. I'll start porting.

Strict mode functions are to get 'undefined' as the receiver when
called with an implicit receiver. Modes are bad! It forces us to have
checks on all function calls.

This change attempts to limit the cost by passing information about
whether or not a call is with an implicit or explicit receiver in ecx
as part of the calling convention. The cost is setting ecx on all
calls and checking ecx on entry to strict mode functions.

Implicit/explicit receiver state has to be maintained by ICs. Various
stubs have to not clobber ecx or save and restore it.

CallFunction stub needs to check if the receiver is implicit when it
doesn't know from the context.

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

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

13 years agoModify use of RelocInfo::CODE_TARGET_WITH_ID in full-codegen to make it the same...
whesse@chromium.org [Tue, 24 May 2011 13:48:55 +0000 (13:48 +0000)]
Modify use of RelocInfo::CODE_TARGET_WITH_ID in full-codegen to make it the same on all platforms.

BUG=
TEST=

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

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

13 years agoUpdate gyp files with json parser.
ricow@chromium.org [Tue, 24 May 2011 13:02:01 +0000 (13:02 +0000)]
Update gyp files with json parser.
Review URL: http://codereview.chromium.org/7066019

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

13 years agoHandle changes to the Object prototype in fast handling of arrays
sgjesse@chromium.org [Tue, 24 May 2011 12:28:10 +0000 (12:28 +0000)]
Handle changes to the Object prototype in fast handling of arrays

R=ager@chromium.org

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

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

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

13 years agoRename TypeRecording...Stub into ...Stub.
fschneider@chromium.org [Tue, 24 May 2011 12:20:16 +0000 (12:20 +0000)]
Rename TypeRecording...Stub into ...Stub.

There is no need for this long name.
Review URL: http://codereview.chromium.org/7063017

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

13 years agoEnhance gc-nvp-trace-processor.py:
vegorov@chromium.org [Tue, 24 May 2011 12:19:57 +0000 (12:19 +0000)]
Enhance gc-nvp-trace-processor.py:
- correctly display time spent in scavenger (it was attributed to 'other' scope).
- display time spent in 'external' scope.

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

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

13 years agoCreate stand-alone json parser (including scanner).
ricow@chromium.org [Tue, 24 May 2011 12:16:23 +0000 (12:16 +0000)]
Create stand-alone json parser (including scanner).

The current json parser and scanner inherits fromt he normal scanners and parsers,
which are more complicated than we need for parsing json.

The supplied scanner works directly on the string supplied and has a
fast case mode for scanning only ascii characters (it will simply
create a substring or a symbol directly from the existing string). To
allow for creating symbols from a substring I have added a
SubStringAsciiSymbolKey that creates the hash based from our string
without extracting the sub-string. In case we need to add the symbol
it simply creates the symbol directly from the characters inside the
given string.
Review URL: http://codereview.chromium.org/7039037

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

13 years agoFix a bug in deoptimization on x64.
kmillikin@chromium.org [Tue, 24 May 2011 12:12:41 +0000 (12:12 +0000)]
Fix a bug in deoptimization on x64.

When deoptimizing to just after an ignored (because of a duplicate
property name) object literal property initializer, we incorrectly saw
the value of the initializer expression on the stack in the
unoptimized code.  The bug affected x64 only.

R=fschneider@chromium.org
BUG=v8:1404

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

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

13 years agoChange strict mode poison pill to be the samme type error function (fixes issue 1387).
ricow@chromium.org [Tue, 24 May 2011 11:07:06 +0000 (11:07 +0000)]
Change strict mode poison pill to be the samme type error function (fixes issue 1387).

We are now following the spec, and with regards to the error message we are following firefox (webkit still has different type errors in their nightly)
Review URL: http://codereview.chromium.org/7067017

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

13 years agoFix poliarty of CheckMap smi check on ia32
danno@chromium.org [Tue, 24 May 2011 08:59:51 +0000 (08:59 +0000)]
Fix poliarty of CheckMap smi check on ia32

R=karlklose@chromium.org
BUG=none
TEST=existing tests

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

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

13 years agoRemove wrong assert to fix a debug crash with arguments object.
fschneider@chromium.org [Tue, 24 May 2011 08:38:42 +0000 (08:38 +0000)]
Remove wrong assert to fix a debug crash with arguments object.

We don't need to assert the existence of a length-property of the
arguments object because it is not a JSArray, but just a normal JSObject.

BUG=v8:1227
Review URL: http://codereview.chromium.org/7064020

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

13 years agoMIPS: arch-independent changes to support mips.
sgjesse@chromium.org [Tue, 24 May 2011 07:56:20 +0000 (07:56 +0000)]
MIPS: arch-independent changes to support mips.

This change supports all non-crankshaft features except serialization.

This must be built after the changes in http://codereview.chromium.org/6966031
are landed.

BUG=
TEST=

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

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

13 years agoMIPS: Update for 23-May commits, and a few older ones.
sgjesse@chromium.org [Tue, 24 May 2011 07:23:32 +0000 (07:23 +0000)]
MIPS: Update for 23-May commits, and a few older ones.

Make mips-specifc changes for r7999, r8001, r8002.

Also bring in changes for older commits 7203, 7279, 7693, 7715, 7788.

Mips changes for 7715 (Arm: Support hardfloat in SCons build), and
7693 (Implement hardfloat calling convention in macro assembler and simulator)
resulted in changes to SConstruct.

BUG=
TEST=

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

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

13 years agoInline more zone stuff.
vitalyr@chromium.org [Mon, 23 May 2011 22:23:50 +0000 (22:23 +0000)]
Inline more zone stuff.

R=ager@chromium.org

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

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

13 years agoRemove stub call in non-VFP3 code path of external array load.
karlklose@chromium.org [Mon, 23 May 2011 16:17:40 +0000 (16:17 +0000)]
Remove stub call in non-VFP3 code path of external array load.

KeyedLoadStubCompiler::GenerateLoadExternalArray is tail-calling a stub, which it is not allowed to, because its major key is higher than InstanceOf. Instead of changing the major key I decided to provide an inline implementation.

TEST=test-api/ExternalArrays with --noenable-vfp3

R=danno@chromium.org

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

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

13 years agoAdd bit_field3 to Map objects
danno@chromium.org [Mon, 23 May 2011 15:59:38 +0000 (15:59 +0000)]
Add bit_field3 to Map objects

Reuse instance_descriptor field in the map to store additional flags when there are no descriptors. When descriptors get added to the map, move the flags to the DescriptorArray and access through indirection.

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

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

13 years agoAvoid calling ToObject on JSFunction receiver arguments for Function.call and Functio...
whesse@chromium.org [Mon, 23 May 2011 15:17:10 +0000 (15:17 +0000)]
Avoid calling ToObject on JSFunction receiver arguments for Function.call and Function.apply.

BUG=
TEST=

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

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

13 years agoEnsure SMI check for receiver in external array store stub for ARM.
danno@chromium.org [Mon, 23 May 2011 15:04:32 +0000 (15:04 +0000)]
Ensure SMI check for receiver in external array store stub for ARM.

R=ager@chromium.org
BUG=none
TEST=test/mjsunit/external-array.js

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

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

13 years agoSMI checks for receiver in KeyedLoad/Store (done right this time)
danno@chromium.org [Mon, 23 May 2011 13:42:33 +0000 (13:42 +0000)]
SMI checks for receiver in KeyedLoad/Store (done right this time)

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

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

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

13 years agoAdd regression test for issue 1401
sgjesse@chromium.org [Mon, 23 May 2011 13:03:45 +0000 (13:03 +0000)]
Add regression test for issue 1401

R=ager@chromium.org

BUG=v8:1401
TEST=test/regress/regress-1401.js

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

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

13 years agoUse placement new for ZoneLists in the parser.
vitalyr@chromium.org [Mon, 23 May 2011 13:00:11 +0000 (13:00 +0000)]
Use placement new for ZoneLists in the parser.

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

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

13 years agoIsolates cleanup: get rid of some ugly macros.
vitalyr@chromium.org [Mon, 23 May 2011 12:59:02 +0000 (12:59 +0000)]
Isolates cleanup: get rid of some ugly macros.

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

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

13 years agoRemove newlines from preparser command line parameters to make Windows happy.
lrn@chromium.org [Mon, 23 May 2011 12:56:00 +0000 (12:56 +0000)]
Remove newlines from preparser command line parameters to make Windows happy.

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

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

13 years agoOptimise the deoptimisation check to improve performance on modern ARM cores.
sgjesse@chromium.org [Mon, 23 May 2011 12:48:17 +0000 (12:48 +0000)]
Optimise the deoptimisation check to improve performance on modern ARM cores.

BUG=none
TEST=none

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

Reverted in r7916.

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

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

13 years agogrokdump: Update the list of instance types.
vitalyr@chromium.org [Mon, 23 May 2011 11:41:28 +0000 (11:41 +0000)]
grokdump: Update the list of instance types.

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

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

13 years agoAdd missing SMI checks to fix reliability bots
danno@chromium.org [Mon, 23 May 2011 11:40:36 +0000 (11:40 +0000)]
Add missing SMI checks to fix reliability bots

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

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

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

13 years agoFix missing retun value.
lrn@chromium.org [Mon, 23 May 2011 10:53:39 +0000 (10:53 +0000)]
Fix missing retun value.

Why did it ever work?

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

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

13 years agoImprove bit tests on IA32.
sgjesse@chromium.org [Mon, 23 May 2011 10:47:43 +0000 (10:47 +0000)]
Improve bit tests on IA32.
Bit tests with a memory operand should be avoided on Intel processors.
On Atom bts with a memory operand has 10~11 cycles latency and on Core 2
it has 5~6 cycles latency, and also produces multiple uops.
If the bit base operand is a register the latency is 1 cycle instead.
This CL improves several cases from Kraken 1.1 benchmark on Atom. For example,
12% for imaging-desaturate, 8% for audio-fft, and 5% for audio-beat-detection.

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

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

13 years agoChanged d8 to print exception stack traces like samples/shell.cc.
kasperl@chromium.org [Mon, 23 May 2011 10:41:02 +0000 (10:41 +0000)]
Changed d8 to print exception stack traces like samples/shell.cc.
Review URL: http://codereview.chromium.org/7060006

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

13 years agoCreate template system for strict-mode tests.
lrn@chromium.org [Mon, 23 May 2011 10:35:30 +0000 (10:35 +0000)]
Create template system for strict-mode tests.

This makes it possible to get total coverage without creating thousands
of individual test files.

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

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

13 years agoFix object visitor.
rossberg@chromium.org [Mon, 23 May 2011 09:11:24 +0000 (09:11 +0000)]
Fix object visitor.

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

13 years agoExperimental i18n extension breaks shared library build. Revert recent
ager@chromium.org [Mon, 23 May 2011 08:35:46 +0000 (08:35 +0000)]
Experimental i18n extension breaks shared library build. Revert recent
changes to unblock V8 release.

Revert "Adding DateTimeFormat class to i18n API with following methods:"

Revert "Some internal methods are requested when v8 is built as DLL (V8_SHARED), and"

R=sgjesse@chromium.org

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

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

13 years agoMIPS: Minor fixes to simulator and builtins-mips.
sgjesse@chromium.org [Mon, 23 May 2011 07:12:58 +0000 (07:12 +0000)]
MIPS: Minor fixes to simulator and builtins-mips.

Updated to include fixes to several mips arch-specific files, corresponding to recent changes in r7944, r7935, r7926, r7914, r7910, r7895, and parts of r7423, which had previously been missed for mips. Rebased on r7964.

The simulator changes were missed on r7893 for code-stubs-mips,
where the DirectCEntry stuff was added.

There are also a couple small changes to builtins-mips following
r7879 for the other architectures.

BUG=
TEST=

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

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

13 years agoFixed pretty printing of typeof/delete/void expressions. Put spaces around binary...
svenpanne@chromium.org [Mon, 23 May 2011 07:00:54 +0000 (07:00 +0000)]
Fixed pretty printing of typeof/delete/void expressions. Put spaces around binary operations and comparisons to improve readability.
Review URL: http://codereview.chromium.org/7055008

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

13 years agoSome internal methods are requested when v8 is built as DLL (V8_SHARED), and
ager@chromium.org [Mon, 23 May 2011 06:14:32 +0000 (06:14 +0000)]
Some internal methods are requested when v8 is built as DLL (V8_SHARED), and
they are not available.
Make them no-op (or better yet part of public API).

TEST = Build Chromium with V8_SHARED

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

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

13 years agoPrepare push to trunk. Now working on version 3.3.10.
ager@chromium.org [Mon, 23 May 2011 06:00:45 +0000 (06:00 +0000)]
Prepare push to trunk. Now working on version 3.3.10.

R=erik.corry@gmail.com

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

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

13 years agoll_prof: Add function optimization status markers.
vitalyr@chromium.org [Fri, 20 May 2011 15:45:06 +0000 (15:45 +0000)]
ll_prof: Add function optimization status markers.

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

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

13 years agoRemove redundant 'running' checks for ProfilerEventsProcessor in tests.
mikhail.naganov@gmail.com [Fri, 20 May 2011 15:11:00 +0000 (15:11 +0000)]
Remove redundant 'running' checks for ProfilerEventsProcessor in tests.

A follow up to r7949

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

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

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

13 years agoRefactoring only: Simplified LChunkBuilder:DoTest a bit, making it a simple if-then...
svenpanne@chromium.org [Fri, 20 May 2011 11:49:52 +0000 (11:49 +0000)]
Refactoring only: Simplified LChunkBuilder:DoTest a bit, making it a simple if-then-else cascade.
Review URL: http://codereview.chromium.org/7055006

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

13 years agoAdding DateTimeFormat class to i18n API with following methods:
cira@chromium.org [Thu, 19 May 2011 21:12:47 +0000 (21:12 +0000)]
Adding DateTimeFormat class to i18n API with following methods:

- format
- getWeekdays
- getMonths
- get Eras
- getAmPm

TEST=Visit i18n.kaziprst.org/datetimeformat.html
Review URL: http://codereview.chromium.org/7014019

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

13 years agoAllocate fewer handles in the TypeFeedbackOracle.
kmillikin@chromium.org [Thu, 19 May 2011 13:26:47 +0000 (13:26 +0000)]
Allocate fewer handles in the TypeFeedbackOracle.

R=vegorov@chromium.org
BUG=
TEST=

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

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

13 years agoWhen inlining fails, disable optimization of the proper function.
kmillikin@chromium.org [Thu, 19 May 2011 13:15:57 +0000 (13:15 +0000)]
When inlining fails, disable optimization of the proper function.

Also, refactor disabling of optimization to make it easier to ensure
that both SharedFunctionInfo and Code get disabled.

R=whesse@chromium.org
BUG=
TEST=

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

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

13 years agoAlso skip unary op IC when iterating over break locations in the debugger.
fschneider@chromium.org [Thu, 19 May 2011 13:14:12 +0000 (13:14 +0000)]
Also skip unary op IC when iterating over break locations in the debugger.
Review URL: http://codereview.chromium.org/7040002

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

13 years agoRefactor TraceInlining method of hydrogen so it works correctly.
whesse@chromium.org [Thu, 19 May 2011 12:53:50 +0000 (12:53 +0000)]
Refactor TraceInlining method of hydrogen so it works correctly.

Fix TraceInline.

BUG=
TEST=

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

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

13 years agoRename Proxy class to Foreign, to avoid confusion with Harmony proxies.
rossberg@chromium.org [Thu, 19 May 2011 11:47:34 +0000 (11:47 +0000)]
Rename Proxy class to Foreign, to avoid confusion with Harmony proxies.

Also fix grokdump, which was off by one after intro of JSProxy type.

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

13 years agoAvoid conflict between method and type name.
lrn@chromium.org [Thu, 19 May 2011 09:22:32 +0000 (09:22 +0000)]
Avoid conflict between method and type name.

Make builder happy.

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

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

13 years agoAdded preparser strict-mode tests.
lrn@chromium.org [Thu, 19 May 2011 09:01:46 +0000 (09:01 +0000)]
Added preparser strict-mode tests.

Now tests for use of eval, arguments, reserved words and with statement.

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

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

13 years agoFix bug with long stack traces truncation in DevTools CPU profiler.
mikhail.naganov@gmail.com [Thu, 19 May 2011 08:25:38 +0000 (08:25 +0000)]
Fix bug with long stack traces truncation in DevTools CPU profiler.

R=sgjesse@chromium.org,vitalyr@chromium.org
BUG=1398
TEST=cctest/test-cpu-profiler/Issue1398

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

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

13 years agoRemove execScript from V8. No longer present i neither Firefox nor Safari.
ager@chromium.org [Thu, 19 May 2011 08:10:27 +0000 (08:10 +0000)]
Remove execScript from V8. No longer present i neither Firefox nor Safari.

R=ricow@chromium.org
BUG=
TEST=

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

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

13 years agoPut 7942 "Per-isolate embedder-specific data" back
dslomov@chromium.org [Wed, 18 May 2011 23:26:38 +0000 (23:26 +0000)]
Put 7942 "Per-isolate embedder-specific data" back

TBR=

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

13 years agoRevert "Per-isolate embedder-specific data"
dslomov@chromium.org [Wed, 18 May 2011 22:35:41 +0000 (22:35 +0000)]
Revert "Per-isolate embedder-specific data"

This reverts commit 42f5dc01fb9adbf55242da9f6515e9a37132217b.

Checking if this helps webkit-tests

TBR=dslomov@chromium.org

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

13 years agoFix compilation warning on some C++ compilers.
fschneider@chromium.org [Wed, 18 May 2011 17:43:20 +0000 (17:43 +0000)]
Fix compilation warning on some C++ compilers.

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

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

13 years agoFix handling of -0 in the unary-op IC and avoid repeated patching/transitions.
fschneider@chromium.org [Wed, 18 May 2011 17:32:36 +0000 (17:32 +0000)]
Fix handling of -0 in the unary-op IC and avoid repeated patching/transitions.

When the stub return a heap number we do a state transition to
a version HEAP_NUMBER that can handle -0.

There is room for further improvement in the typefeedback for the
case of -0. This change however does not address this and only fixes
the acute issue.
Review URL: http://codereview.chromium.org/7037025

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

13 years agoMake GVN side effect analysis more precise.
vitalyr@chromium.org [Wed, 18 May 2011 17:18:35 +0000 (17:18 +0000)]
Make GVN side effect analysis more precise.

When descending the dominator tree we used to collect side effects from all blocks between the dominator and the dominated blocks in the block ordering. This could include blocks that do not appear on paths from the dominator to the dominated and unnecessarily removed available values from the GVN map.

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

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

13 years agoPer-isolate embedder-specific data
dslomov@chromium.org [Wed, 18 May 2011 16:20:45 +0000 (16:20 +0000)]
Per-isolate embedder-specific data

BUG=
TEST=

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

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

13 years agoAssert that independent handles do not participate in grouping.
vitalyr@chromium.org [Wed, 18 May 2011 15:28:43 +0000 (15:28 +0000)]
Assert that independent handles do not participate in grouping.

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

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

13 years agoll_prof: Output tick percentage by symbol/library.
vitalyr@chromium.org [Wed, 18 May 2011 15:08:50 +0000 (15:08 +0000)]
ll_prof: Output tick percentage by symbol/library.

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

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

13 years agoUse MarkIndependent in sample shell.
vegorov@chromium.org [Wed, 18 May 2011 15:01:57 +0000 (15:01 +0000)]
Use MarkIndependent in sample shell.

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

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

13 years agoAdd code to ia32 TypeRecordingBinaryOpStub to handle SHR Smi overflow.
whesse@chromium.org [Wed, 18 May 2011 14:53:02 +0000 (14:53 +0000)]
Add code to ia32 TypeRecordingBinaryOpStub to handle SHR Smi overflow.

BUG=v8:1395

TEST=

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

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

13 years agoMove derived get trap from builtins to global context.
rossberg@chromium.org [Wed, 18 May 2011 14:00:34 +0000 (14:00 +0000)]
Move derived get trap from builtins to global context.

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

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

13 years agoReland 7917:
danno@chromium.org [Wed, 18 May 2011 13:17:29 +0000 (13:17 +0000)]
Reland 7917:

Better support for 'polymorphic' JS and external arrays

Allow  keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub.

There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps and dispatches to shared stubs to perform the array operation.

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

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

13 years agoAdd regression test for http://crbug.com/82769
vegorov@chromium.org [Wed, 18 May 2011 12:46:21 +0000 (12:46 +0000)]
Add regression test for http://crbug.com/82769

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

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

13 years agoRevert accidental change from r7795 that was causing a bug fixed in r7790 to reappear.
vegorov@chromium.org [Wed, 18 May 2011 12:26:04 +0000 (12:26 +0000)]
Revert accidental change from r7795 that was causing a bug fixed in r7790 to reappear.

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

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

13 years agoFix incorrect coercion of other failures to Failure::Exception in ReThrow.
lrn@chromium.org [Wed, 18 May 2011 12:22:19 +0000 (12:22 +0000)]
Fix incorrect coercion of other failures to Failure::Exception in ReThrow.

TEST=cctest/test-api/OutOfMemoryNested

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

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

13 years agoFix bug 1396: Optimized calls to API functions assumed that the receiver was a JSObje...
whesse@chromium.org [Wed, 18 May 2011 12:20:36 +0000 (12:20 +0000)]
Fix bug 1396: Optimized calls to API functions assumed that the receiver was a JSObject, failed when compiling stub otherwise.

BUG=v8:1396
Review URL: http://codereview.chromium.org/7045002

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

13 years agoFix bug in optimized compiler's switch-statement.
fschneider@chromium.org [Wed, 18 May 2011 11:06:07 +0000 (11:06 +0000)]
Fix bug in optimized compiler's switch-statement.

In the case where the default-clause occurs as the first clause,
the case-blocks were not wired up correctly.

BUG=v8:1394
TEST=mjsunit/compiler/regress-1394.js
Review URL: http://codereview.chromium.org/7037023

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

13 years agoHandle all kind of arguments in the ToBooleanStub. While this is not very thrilling...
svenpanne@chromium.org [Wed, 18 May 2011 10:40:01 +0000 (10:40 +0000)]
Handle all kind of arguments in the ToBooleanStub. While this is not very thrilling in itself, it is one of several steps to add type recording to this stub. Removed a duplicate check for null in the ARM stub and made a tiny simplification, removing a sub instruction.

As a side note, this change has some positive impact on the performace, e.g. imaging-darkroom is 8.3% faster and ws-ieee754conv is even 19.9% faster. No idea why the speedup is so big in some cases, but never look a gift horse in the mouth... ;-)
Review URL: http://codereview.chromium.org/7042004

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

13 years agoRemove NULL temp operand from ia32 LStoreKeyedSpecializedArrayElement.
vitalyr@chromium.org [Wed, 18 May 2011 09:19:14 +0000 (09:19 +0000)]
Remove NULL temp operand from ia32 LStoreKeyedSpecializedArrayElement.

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

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

13 years agoPrepare push to trunk. Now working on version 3.3.9.
kmillikin@chromium.org [Wed, 18 May 2011 08:49:07 +0000 (08:49 +0000)]
Prepare push to trunk.  Now working on version 3.3.9.

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

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