platform/upstream/v8.git
13 years agoRename parameters to fix Windows build
jkummerow@chromium.org [Wed, 11 May 2011 09:50:34 +0000 (09:50 +0000)]
Rename parameters to fix Windows build

TEST=compiles on Windows

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

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

13 years agoImproved c1visualizer output a bit: Emit a human-readable description for
svenpanne@chromium.org [Wed, 11 May 2011 09:19:28 +0000 (09:19 +0000)]
Improved c1visualizer output a bit: Emit a human-readable description for
changes instead of a bit-pattern. Fixed logic when ranges are emitted. Improved
indentation in hydrogen.cfg (aesthetical change only). Some minor additional
cleanup.
Review URL: http://codereview.chromium.org/6995024

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

13 years agoRemove NearLabel, replacing remaining occurrences with Label
jkummerow@chromium.org [Wed, 11 May 2011 09:12:16 +0000 (09:12 +0000)]
Remove NearLabel, replacing remaining occurrences with Label

TEST=compiles, existing tests pass

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

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

13 years agoAllow strict mode flag as extraicstate for keyed external array store ic
ricow@chromium.org [Wed, 11 May 2011 08:53:46 +0000 (08:53 +0000)]
Allow strict mode flag as extraicstate for keyed external array store ic

We currently hit an assertion in computeflags, but the extra_ic_state is used to pass the strict mode flag in.

BUG: 1383
Review URL: http://codereview.chromium.org/7003022

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

13 years agoAdd cctest/test-disasm-mips which was mistakenly omitted from r7825.
sgjesse@chromium.org [Wed, 11 May 2011 08:26:22 +0000 (08:26 +0000)]
Add cctest/test-disasm-mips which was mistakenly omitted from r7825.

BUG=
TEST=

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

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

13 years agoLimit the generation of regexp code with large inlined constants.
erik.corry@gmail.com [Wed, 11 May 2011 06:39:27 +0000 (06:39 +0000)]
Limit the generation of regexp code with large inlined constants.
Review URL: http://codereview.chromium.org/6997015

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

13 years agoAvoid using a register for constant external array indices.
jkummerow@chromium.org [Tue, 10 May 2011 15:25:17 +0000 (15:25 +0000)]
Avoid using a register for constant external array indices.

This CL is based on and obsoletes CL 6879037.

TEST=mjsunit/external-array.js

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

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

13 years agoFix timeout of test regress-1118.js
jkummerow@chromium.org [Tue, 10 May 2011 15:07:30 +0000 (15:07 +0000)]
Fix timeout of test regress-1118.js

TEST=mjsunit/regress/regress-1118.js no longer times out when run in the ARM simulator.

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

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

13 years agoReverted some code which got accidentally committed as part of another commit.
svenpanne@chromium.org [Tue, 10 May 2011 14:39:19 +0000 (14:39 +0000)]
Reverted some code which got accidentally committed as part of another commit.

TBR=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/6994011

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

13 years agoFix lint.
vitalyr@chromium.org [Tue, 10 May 2011 14:21:23 +0000 (14:21 +0000)]
Fix lint.

TBR=svenpanne@chromium.org

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

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

13 years agoRefactor HCheckInstanceType to allow mask/tag tests.
vitalyr@chromium.org [Tue, 10 May 2011 14:17:23 +0000 (14:17 +0000)]
Refactor HCheckInstanceType to allow mask/tag tests.

This allows us to get rid of totally fake LAST_STRING_TYPE and makes
it possible to test for symbols.

I considered splitting HCheckInstanceType into two instructions, but
it seems nice to be able to hide the instance type implementation
details from the hydrogen level.

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

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

13 years agoA few "extract method" refactorings, trying to get individual method definitions
svenpanne@chromium.org [Tue, 10 May 2011 13:29:57 +0000 (13:29 +0000)]
A few "extract method" refactorings, trying to get individual method definitions
onto a sinlge 30" screen. A lot of times, the AST visitor stops a bit too early,
so we have to do the rest of the dispatch by hand. This is caused by the fact
that the kind of the AST nodes are a bit too coarse for some traversals (e.g. a
single node type for all binary ops), perhaps one could try to refine this a
little bit more.
Review URL: http://codereview.chromium.org/6963008

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

13 years agoARM: Disable test test-lockers/MultithreadedParallelIsolates because it is flaky.
karlklose@chromium.org [Tue, 10 May 2011 12:30:01 +0000 (12:30 +0000)]
ARM: Disable test test-lockers/MultithreadedParallelIsolates because it is flaky.

BUG=1375

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

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

13 years agofix x64 build error (introduced by rebasing)
jkummerow@chromium.org [Tue, 10 May 2011 09:15:21 +0000 (09:15 +0000)]
fix x64 build error (introduced by rebasing)

TEST=compiles

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

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

13 years agoMerge Label and NearLabel
jkummerow@chromium.org [Tue, 10 May 2011 09:03:42 +0000 (09:03 +0000)]
Merge Label and NearLabel

by adding NearLabel's functionality to Label and introducing a "near" parameter to jump instructions.

TEST=compiles; existing tests still pass.

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

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

13 years agoAdd new function ICCompareStub::GenerateSymbols to mips, introduced in r7824.
sgjesse@chromium.org [Tue, 10 May 2011 06:29:16 +0000 (06:29 +0000)]
Add new function ICCompareStub::GenerateSymbols to mips, introduced in r7824.

BUG=
TEST=

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

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

13 years agoPropagate a Failure from GenerateDictionaryNegativeLookup instead of causing GC.
vegorov@chromium.org [Mon, 9 May 2011 16:15:18 +0000 (16:15 +0000)]
Propagate a Failure from GenerateDictionaryNegativeLookup instead of causing GC.

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

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

13 years agoAdd IsCallable method for Object in the API
ager@chromium.org [Mon, 9 May 2011 15:24:48 +0000 (15:24 +0000)]
Add IsCallable method for Object in the API

Patch by Peter Varga.

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

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

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

13 years agoSimple elimination of redundant array-hole checks.
fschneider@chromium.org [Mon, 9 May 2011 15:21:40 +0000 (15:21 +0000)]
Simple elimination of redundant array-hole checks.

If the result of an fast elements load is converted to an untagged
representation we can omit the hole check if the value is not used
anywhere else except for HChange instructions converting it to
an untagged representation since those will deoptimize for the hole
value anyway.
Review URL: http://codereview.chromium.org/6964012

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

13 years agoCode should be retrieved via the AST id, not via the source position. Bugs like
svenpanne@chromium.org [Mon, 9 May 2011 14:58:06 +0000 (14:58 +0000)]
Code should be retrieved via the AST id, not via the source position. Bugs like
this are a "little bit" hard to find when everything is an int... >:-(
Review URL: http://codereview.chromium.org/6970001

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

13 years agoUpdate mips infrastructure files.
sgjesse@chromium.org [Mon, 9 May 2011 14:28:09 +0000 (14:28 +0000)]
Update mips infrastructure files.

- Merge to current tip of tree, fix build problems.
- Remove deprecated source files.
- Add cctest test-disasm-mips
- Consistently use single-reg push()/pop() (remove uppercase variants)
- Add assembler field accessors.
- More style fixes.

BUG=
TEST=

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

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

13 years agoCompare IC: add SYMBOLS state.
vitalyr@chromium.org [Mon, 9 May 2011 13:30:04 +0000 (13:30 +0000)]
Compare IC: add SYMBOLS state.

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

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

13 years agoMake preparser-process.cc ignore flags on the command line.
lrn@chromium.org [Mon, 9 May 2011 12:39:16 +0000 (12:39 +0000)]
Make preparser-process.cc ignore flags on the command line.

Avoids breaking when passed, e.g., the --nosse2 flag by certain builders.

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

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

13 years agoMake sure v8::String::Value and relatives are always initialized.
vitalyr@chromium.org [Mon, 9 May 2011 10:39:02 +0000 (10:39 +0000)]
Make sure v8::String::Value and relatives are always initialized.

BUG=1370

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

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

13 years agoPrepare push to trunk. Now working on version 3.3.6.
lrn@chromium.org [Mon, 9 May 2011 09:21:21 +0000 (09:21 +0000)]
Prepare push to trunk. Now working on version 3.3.6.

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

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

13 years agoLet test configuration disable variant flags. Used for preparser tests.
lrn@chromium.org [Mon, 9 May 2011 09:02:27 +0000 (09:02 +0000)]
Let test configuration disable variant flags. Used for preparser tests.

Fixes problem with nosse[234] tests (or anything else that would pass an
unexpected extra parameter on the preparser test command line).

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

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

13 years agoExpose optimization info via runtime functions
jkummerow@chromium.org [Mon, 9 May 2011 08:58:57 +0000 (08:58 +0000)]
Expose optimization info via runtime functions

TEST=mjsunit/assert-opt-and-deopt.js

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

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

13 years agoAUTHORS: add Akinori MUSHA <knu@FreeBSD.org>.
vitalyr@chromium.org [Sun, 8 May 2011 14:55:57 +0000 (14:55 +0000)]
AUTHORS: add Akinori MUSHA <knu@FreeBSD.org>.

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

13 years agoFix build on FreeBSD.
vitalyr@chromium.org [Sun, 8 May 2011 14:50:09 +0000 (14:50 +0000)]
Fix build on FreeBSD.

Patch by Akinori MUSHA.

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

13 years agoRevert "First step in letting Crankshaft inline functions with a different context."
whesse@chromium.org [Fri, 6 May 2011 15:02:15 +0000 (15:02 +0000)]
Revert "First step in letting Crankshaft inline functions with a different context."

This reverts commit r7807.  TBR=kmillikin@chromium.org.

BUG=
TEST=

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

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

13 years agoExtract common code in string compare loops.
vitalyr@chromium.org [Fri, 6 May 2011 14:19:51 +0000 (14:19 +0000)]
Extract common code in string compare loops.

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

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

13 years agoCheck that receiver is JSObject on API calls.
ager@chromium.org [Fri, 6 May 2011 14:14:16 +0000 (14:14 +0000)]
Check that receiver is JSObject on API calls.

R=sgjesse@chromium.org
BUG=v8:1369
TEST=mjsunit/regress/regress-1369.js

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

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

13 years agoFirst step in letting Crankshaft inline functions with a different context.
whesse@chromium.org [Fri, 6 May 2011 13:26:22 +0000 (13:26 +0000)]
First step in letting Crankshaft inline functions with a different context.

Use a special slot for HContext, and fetch the value from there each time it is used.  Allocate space for special slots in every HEnvironment.  Fill them with constant undefined.  Do not copy them to LEnvironment.

BUG=
TEST=

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

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

13 years agoARM: Fix the detection of whether the binary was compiler with -mfloat-abi=hard
sgjesse@chromium.org [Fri, 6 May 2011 12:52:12 +0000 (12:52 +0000)]
ARM: Fix the detection of whether the binary was compiler with -mfloat-abi=hard

The constant 1.0 should be 0x3FF0000000000000 not 0x03FF000000000000.

R=karlklose@chromium.org

BUG=none
TEST=none

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

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

13 years agoFix newly introduced bug in detecing octal numbers.
lrn@chromium.org [Fri, 6 May 2011 12:47:18 +0000 (12:47 +0000)]
Fix newly introduced bug in detecing octal numbers.

TEST=mjsunit/strict

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

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

13 years agoStrict mode detection in preparser.
lrn@chromium.org [Fri, 6 May 2011 11:41:15 +0000 (11:41 +0000)]
Strict mode detection in preparser.

Handle octal escapes in everything but RegExps.
Extend preparser test suite to test whether the preparser reports
exceptions to throw.

TEST=preparser/*

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

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

13 years agoImplement CallAsConstructor method for Object in the API
ager@chromium.org [Fri, 6 May 2011 11:07:52 +0000 (11:07 +0000)]
Implement CallAsConstructor method for Object in the API

Patch by Peter Varga.

BUG=v8:1348
TEST=cctest/test-api/ConstructorForObject

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

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

13 years agoTiny refactorings to improve the readability of the compiler pipeline a bit.
svenpanne@chromium.org [Fri, 6 May 2011 11:02:23 +0000 (11:02 +0000)]
Tiny refactorings to improve the readability of the compiler pipeline a bit.
Review URL: http://codereview.chromium.org/6933048

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

13 years agoSplit threaded cctests into four parts (instead of 2)
ricow@chromium.org [Fri, 6 May 2011 09:22:54 +0000 (09:22 +0000)]
Split threaded cctests into four parts (instead of 2)

The number of cctests are now so large that this is causing timeouts
when only splitting these into two parts.
Review URL: http://codereview.chromium.org/6929063

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

13 years agoReplace loops by OptimizeFunctionOnNextCall in regress-1085 and regress-1210.
karlklose@chromium.org [Fri, 6 May 2011 09:10:28 +0000 (09:10 +0000)]
Replace loops by OptimizeFunctionOnNextCall in regress-1085 and regress-1210.

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

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

13 years agoRemove unused but set variable.
karlklose@chromium.org [Fri, 6 May 2011 09:05:44 +0000 (09:05 +0000)]
Remove unused but set variable.

R=ager@chromium.org

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

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

13 years agoA tiny contribution for the IWYU day: Include allocation.h in every
svenpanne@chromium.org [Fri, 6 May 2011 06:50:20 +0000 (06:50 +0000)]
A tiny contribution for the IWYU day: Include allocation.h in every
header which uses BASE_EMBEDDED and/or AllStatic. Note that still only
45 out of 135 headers in src/ can be used stand-alone, but at least
this is a little bit more than before...
Review URL: http://codereview.chromium.org/6931031

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

13 years agoThis implements per-isolate locking and unlocking, including tests
dslomov@chromium.org [Thu, 5 May 2011 18:55:31 +0000 (18:55 +0000)]
This implements per-isolate locking and unlocking, including tests

BUG=
TEST=

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

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

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

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

13 years agoTrying to re-land http://codereview.chromium.org/6901141.
cira@chromium.org [Thu, 5 May 2011 17:18:22 +0000 (17:18 +0000)]
Trying to re-land codereview.chromium.org/6901141.

Changes from previus revision:
- Made my own strncpy in I18NUtils class (we can't use OS::SNPrintF nor snprintf).
- Fixed a crashing bug related to ICU call in LanguageMatcher::BCP47ToICUFormat.

TEST=Visit i18n.kaziprst.org/locale.html
Review URL: http://codereview.chromium.org/6928017

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

13 years agoUnroll more StringDictionary lookup probes both for positive and negative dictionary...
vegorov@chromium.org [Thu, 5 May 2011 12:30:57 +0000 (12:30 +0000)]
Unroll more StringDictionary lookup probes both for positive and negative dictionary lookups.

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

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

13 years agoFaster string equals in generated code.
vitalyr@chromium.org [Thu, 5 May 2011 11:40:08 +0000 (11:40 +0000)]
Faster string equals in generated code.

In my previous change I mixed up "compare" and "equals". This made us
miss the fast length check before comparing strings for equality.

Now we have a separate helper for "equals". It shares some of the
inner loop details with "compare". I'll see if this can be cleaned up
without making it unreadable.

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

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

13 years agoSupport polymorphic loads of constant functions as well as fields.
ager@chromium.org [Thu, 5 May 2011 09:22:09 +0000 (09:22 +0000)]
Support polymorphic loads of constant functions as well as fields.

R=fschneider@chromium.org
BUG=
TEST=

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

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

13 years agoFix bug in x64 >>> operator.
fschneider@chromium.org [Thu, 5 May 2011 08:17:31 +0000 (08:17 +0000)]
Fix bug in x64 >>> operator.

Whenever >>> produces a non-smi result, the binary op stub would
return a wrong result in case of a failed new-space allocation.

This also fixes the (flaky) sparse-array-reverse test which was failing
sometimes because of this.

BUG=v8:1359
TEST=mjsunit/sparse-array-reverse.js
Review URL: http://codereview.chromium.org/6927013

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

13 years agoFix overflow in arm simulator.
ager@chromium.org [Thu, 5 May 2011 06:22:58 +0000 (06:22 +0000)]
Fix overflow in arm simulator.

Don't copy 64 bits to a 32 bit value.

R=karlklose@chromium.org,sgjesse@chromium.org
BUG=
TEST=

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

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

13 years agoRemove extra debug line from Object.prototype.toString
ricow@chromium.org [Thu, 5 May 2011 05:51:43 +0000 (05:51 +0000)]
Remove extra debug line from Object.prototype.toString

Fixes mozilla failures
Review URL: http://codereview.chromium.org/6935020

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

13 years agoReapply 7763, including arm and x64 variants.
ricow@chromium.org [Thu, 5 May 2011 05:21:30 +0000 (05:21 +0000)]
Reapply 7763, including arm and x64 variants.

The only difference to revision 7763 is the implementation in the
builtins file for arm and x64, plus a move of Array.prototype.toString
and Array.prototype.toLocaleString from should throw on null or
undefined to the non generic test cases in the function-call test (due
to us not currently supporting generic cases with these to functions)
Review URL: http://codereview.chromium.org/6928007

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

13 years agoRevert "This implements per-isolate locking and unlocking, including tests"
dslomov@chromium.org [Wed, 4 May 2011 22:35:42 +0000 (22:35 +0000)]
Revert "This implements per-isolate locking and unlocking, including tests"

This reverts commit 1aa40d0c278e195e9e69dcf8b29a212aa1817c0b.

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

13 years agoThis implements per-isolate locking and unlocking, including tests
dslomov@chromium.org [Wed, 4 May 2011 21:04:32 +0000 (21:04 +0000)]
This implements per-isolate locking and unlocking, including tests

BUG=
TEST=

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

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

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

13 years agoCompare IC: add STRINGS state.
vitalyr@chromium.org [Wed, 4 May 2011 18:30:37 +0000 (18:30 +0000)]
Compare IC: add STRINGS state.

BUG=1340

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

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

13 years agoTiny refactoring - change compilation phase parameter for CopyForInlining from a...
whesse@chromium.org [Wed, 4 May 2011 15:00:04 +0000 (15:00 +0000)]
Tiny refactoring - change compilation phase parameter for CopyForInlining from a boolean to an enum.

BUG=
TEST=

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

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

13 years agoAdd CallAsFunction method to the Object class in the API
ager@chromium.org [Wed, 4 May 2011 13:03:08 +0000 (13:03 +0000)]
Add CallAsFunction method to the Object class in the API

Patch by Peter Varga.

BUG=v8:1336
TEST=cctest/test-api/CallAsFunction

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

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

13 years agoPrepare push to trunk. Now working on version 3.3.5.
fschneider@chromium.org [Wed, 4 May 2011 11:55:09 +0000 (11:55 +0000)]
Prepare push to trunk. Now working on version 3.3.5.
Review URL: http://codereview.chromium.org/6933004

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

13 years agoRevert r7768
sgjesse@chromium.org [Wed, 4 May 2011 11:12:06 +0000 (11:12 +0000)]
Revert r7768

This broke the Chromium Windows shared build.

BUG=none
TEST=Windows shared build works when pushed to Chromium
Review URL: http://codereview.chromium.org/6932007

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

13 years agoFix the Windows shared build
sgjesse@chromium.org [Wed, 4 May 2011 11:10:49 +0000 (11:10 +0000)]
Fix the Windows shared build

R=fschneider@chromium.org

BUG=none
TEST=Windows shared build works when pushed to Chromium

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

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

13 years agoActually revert "Add Call method to the Object class in the API"
ager@chromium.org [Wed, 4 May 2011 11:07:09 +0000 (11:07 +0000)]
Actually revert "Add Call method to the Object class in the API"

Tests are failing in debug mode.

This also reapplies the change "Make Date and RegExp inherit from
Object in the API" that I accidentally reverted.

R=sgjesse@chromium.org
BUG=
TEST=

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

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

13 years agoRevert "Make Date and RegExp inherit from Object in the API."
ager@chromium.org [Wed, 4 May 2011 10:51:07 +0000 (10:51 +0000)]
Revert "Make Date and RegExp inherit from Object in the API."

Tests are failing in debug mode.

R=sgjesse@chromium.org
BUG=
TEST=

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

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

13 years agoAdd Call method to the Object class in the API
ager@chromium.org [Wed, 4 May 2011 10:03:49 +0000 (10:03 +0000)]
Add Call method to the Object class in the API

Patch by Peter Varga.

BUG=v8:1336
TEST=cctest/test-api/CallAsFunction

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

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

13 years agoMake Date and RegExp inherit from Object in the API.
ager@chromium.org [Wed, 4 May 2011 07:28:27 +0000 (07:28 +0000)]
Make Date and RegExp inherit from Object in the API.

They are objects and the API inheritance hierarchy should reflect that.

R=sgjesse@chromium.org
BUG=
TEST=

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

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

13 years agoARM: Add GYP variables to control V8 code generation
sgjesse@chromium.org [Wed, 4 May 2011 06:18:49 +0000 (06:18 +0000)]
ARM: Add GYP variables to control V8 code generation

Added the GYP variables:
  v8_can_use_unaligned_accesses
  v8_use_arm_eabi_hardfloat

Refer to the comments in v8.gyp on their uses.

R=karlklose@chromium.org

BUG=none
TEST=none

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

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

13 years agoChange v8Locale to match proposal - constructor is different (takes settings object...
cira@chromium.org [Tue, 3 May 2011 20:43:51 +0000 (20:43 +0000)]
Change v8Locale to match proposal - constructor is different (takes settings object, not a plain string) and I've added derive method to it.

Added comments to i18n.js methods and properties, and util functions to check settings and locale validity.

Added LanguageMatcher class until ICU gets C implementation (in progress, but late for our current deadline). I added TODO to remove LanguageMatcher code.

TEST=Visit http://i18n.kaziprst.org/locale.html.
Review URL: http://codereview.chromium.org/6901141

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

13 years agoAdditional minor cleanup regarding CallWrapper: Use the null object pattern.
svenpanne@chromium.org [Tue, 3 May 2011 15:12:40 +0000 (15:12 +0000)]
Additional minor cleanup regarding CallWrapper: Use the null object pattern.
Review URL: http://codereview.chromium.org/6909026

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

13 years agoDelete empty test/mjsunit/function-call.js file
ricow@chromium.org [Tue, 3 May 2011 14:20:19 +0000 (14:20 +0000)]
Delete empty test/mjsunit/function-call.js file

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

13 years agoReplace long running loops by OptimizeFunctionOnNextCall in some tests that are often...
karlklose@chromium.org [Tue, 3 May 2011 13:53:08 +0000 (13:53 +0000)]
Replace long running loops by OptimizeFunctionOnNextCall in some tests that are often timing out on ARM.

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

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

13 years agoRevert 7763, missing implementation on x64 and arm for call and apply with null or...
ricow@chromium.org [Tue, 3 May 2011 13:45:19 +0000 (13:45 +0000)]
Revert 7763, missing implementation on x64 and arm for call and apply with null or undefined.
Review URL: http://codereview.chromium.org/6913024

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

13 years agoDon't exchange null and undefined with the global object in function.prototype.{call...
ricow@chromium.org [Tue, 3 May 2011 13:19:04 +0000 (13:19 +0000)]
Don't exchange null and undefined with the global object in function.prototype.{call, apply} for natives.

This makes us compatible with firefox in throwing an exception when
call is invoked on a builtin with null as the this argument.
Review URL: http://codereview.chromium.org/6902104

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

13 years agoFix implementation of == to correctly convert Date objects to primitives.
lrn@chromium.org [Tue, 3 May 2011 12:15:14 +0000 (12:15 +0000)]
Fix implementation of == to correctly convert Date objects to primitives.

Fix issue 1356

BUG=v8:1356
TEST=mjsunit/double-equals

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

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

13 years agoCleanup: use xorps to zero out an xmm register on ia32 too.
ager@chromium.org [Tue, 3 May 2011 12:00:54 +0000 (12:00 +0000)]
Cleanup: use xorps to zero out an xmm register on ia32 too.

Encoding is one byte shorter.

R=lrn@chromium.org
BUG=
TEST=

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

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

13 years agoUnified CallWrapper and PostCallGenerator classes, the former is a
svenpanne@chromium.org [Tue, 3 May 2011 09:30:06 +0000 (09:30 +0000)]
Unified CallWrapper and PostCallGenerator classes, the former is a
generalization of the latter. This makes CallWrapper architecture-independant,
so it can be pulled up into assembler.h, nuking 3 copy-n-paste classes. Only a
small improvement, but nevertheless...
Review URL: http://codereview.chromium.org/6893156

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

13 years agoChange heuristics for deciding phi-representation types to use int32 more frequently.
fschneider@chromium.org [Tue, 3 May 2011 08:31:35 +0000 (08:31 +0000)]
Change heuristics for deciding phi-representation types to use int32 more frequently.

Until now we conservatively chose a double representation if
at least one use occurs in a double operation. This causes performance
degradation in many cases where there are mixes uses (integer and double)

e.g.:

for (int i = 0; i < 10; i++) {
  var t = i / 3.5;
  a[i] = t;
}

where the use in i/3 requires a double, where as the keyed store requires i
as an integer.

For these cases we want to have i as an integer and convert it only before the
double division.

In order to avoid unconditional deoptimization in some rare cases, we check
phis if there is any conversion that will always fail when converting a
heap-number constant to int32.
Review URL: http://codereview.chromium.org/6905166

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

13 years agoSimplify include dependencies.
kmillikin@chromium.org [Tue, 3 May 2011 08:23:58 +0000 (08:23 +0000)]
Simplify include dependencies.

Try to make sure that accessors.h, data-flow.h, list-inl.h, and
scopeinfo.h are included only where needed, but without introducing
implicit dependencies.

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

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

13 years agoDon't allow whitespace after sign characters in parseInt.
lrn@chromium.org [Tue, 3 May 2011 07:11:17 +0000 (07:11 +0000)]
Don't allow whitespace after sign characters in parseInt.

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

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

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

13 years agoARM: Changed the handling of compiletime CPU feature detection
sgjesse@chromium.org [Tue, 3 May 2011 06:51:59 +0000 (06:51 +0000)]
ARM: Changed the handling of compiletime CPU feature detection

Always use CpuFeaturesImpliedByCompiler() when selecting CPU features. This checks both for CAN_USE_ARMV7_INSTRUCTIONS and CAN_USE_VFP_INSTRUCTIONS and for GCC preprocessor symbols. This will support using the CAN_USE_XXX for a simulator build used for generating a snapshot followed by a crosscompile using -march= and -mfpu= for selecting the (minimal) target device CPU features. The snapshot will use instructions based on the CAN_USE_XXX whereas the target will at least use features based on both CAN_USE_XXX and -march= and -mfpu=, but will try runtime CPU feature detection a well looking for somethis better.

Remove the compiler based CPU feature detection from the OS::CpuFeaturesImpliedByPlatform() as it did not belong there. Also was already in the CpuFeaturesImpliedByCompiler().

Add the variable 'v8_can_use_vfp_instructions' to the GYP file which can be used to turn on CAN_USE_VFP_INSTRUCTIONS when building V8. I did not add any -mfpu= cflags for this, as there are several options here (e.g. vfp and neon).

R=erik.corry@gmail.com, karlklose@chromium.org

BUG=none
TEST=none

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

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

13 years agoImplement API to disallow code generation from strings for a context.
ager@chromium.org [Tue, 3 May 2011 05:40:47 +0000 (05:40 +0000)]
Implement API to disallow code generation from strings for a context.

R=sgjesse@chromium.org
BUG=v8:1258
TEST=test-api/AllowCodeGenFromStrings

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

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

13 years agoFix lint.
ager@chromium.org [Mon, 2 May 2011 15:12:50 +0000 (15:12 +0000)]
Fix lint.

TBR=sgjesse@chromium.org

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

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

13 years agoMake component=shared_library gyp build work for Linux.
ager@chromium.org [Mon, 2 May 2011 15:06:49 +0000 (15:06 +0000)]
Make component=shared_library gyp build work for Linux.

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

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

13 years agoUse JSON.parse instead of eval for the debugger JSON protocol.
ager@chromium.org [Mon, 2 May 2011 14:20:34 +0000 (14:20 +0000)]
Use JSON.parse instead of eval for the debugger JSON protocol.

R=sgjesse@chromium.org
BUG=
TEST=

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

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

13 years agoPrepare push to trunk. We are now working on version 3.3.4
sgjesse@chromium.org [Mon, 2 May 2011 14:10:14 +0000 (14:10 +0000)]
Prepare push to trunk. We are now working on version 3.3.4

R=ager@chromium.org
Review URL: http://codereview.chromium.org/6902200

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

13 years agoRemove the Visual Studio project files
sgjesse@chromium.org [Mon, 2 May 2011 13:43:13 +0000 (13:43 +0000)]
Remove the Visual Studio project files

R=ager@chromium.org

BUG=885
TEST=none

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

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

13 years agoFix unary sub IC heap number code on x64: an untagged double was pushed on the stack...
whesse@chromium.org [Mon, 2 May 2011 12:55:44 +0000 (12:55 +0000)]
Fix unary sub IC heap number code on x64: an untagged double was pushed on the stack and GCd.

BUG=1352
TEST=mjsunit/math-abs

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

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

13 years agoFix XCode project.
ager@chromium.org [Mon, 2 May 2011 11:39:16 +0000 (11:39 +0000)]
Fix XCode project.

This is temporary. The XCode project will be deleted soon once support for generating it with gyp is in place.

R=sgjesse@chromium.org
BUG=
TEST=

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

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

13 years agoBe more discriminating about uses of the arguments object in optimized code.
kmillikin@chromium.org [Mon, 2 May 2011 11:35:51 +0000 (11:35 +0000)]
Be more discriminating about uses of the arguments object in optimized code.

Because we track the value of the arguments object, we need to check
values whenever plugged into a forbidden value context.  It is not
enough to check at only variable references as we did previously.

R=fschneider@chromium.org
BUG=1351
TEST=regress-1351.js

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

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

13 years agoFix presubmit.
ager@chromium.org [Mon, 2 May 2011 11:08:44 +0000 (11:08 +0000)]
Fix presubmit.

TBR=mnaganov

BUG=
TEST=

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

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

13 years agoFix two bugs the LAllocator::FindOptimalSplitPos.
vegorov@chromium.org [Mon, 2 May 2011 07:47:10 +0000 (07:47 +0000)]
Fix two bugs the LAllocator::FindOptimalSplitPos.

- It was calculating start_block and end_block incorrectly.

- It was not considering the case when end_block is a loop header itself when searching for the header of the outermost loop.

These bugs do not affect correctness of the allocation but can severely degrade it's quality (cause spills in loop bodies).

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

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

13 years agoRevert "This implements per-isolate locking and unlocking, including tests"
dslomov@chromium.org [Fri, 29 Apr 2011 22:16:45 +0000 (22:16 +0000)]
Revert "This implements per-isolate locking and unlocking, including tests"

This reverts commit 76c78febb70e75b18214f5fe45de95c7fb515386.

This change has broken test-thread-termination/TerminateMultipleV8Threads

TBR=vitalyr

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

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

13 years agoThis implements per-isolate locking and unlocking, including tests
dslomov@chromium.org [Fri, 29 Apr 2011 21:26:03 +0000 (21:26 +0000)]
This implements per-isolate locking and unlocking, including tests

BUG=
TEST=

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

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

13 years agoAdd some more (failing) tests for function names inference.
mikhail.naganov@gmail.com [Fri, 29 Apr 2011 20:59:29 +0000 (20:59 +0000)]
Add some more (failing) tests for function names inference.

After the "Naming Anonymous JavaScript Functions" paper by
S. M. Ecole, J. J. Barton, C. Petitpierre.

TBR=yurys@chromium.org
BUG=1354
TEST=test-func-name-inference/*

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

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

13 years agoRemoved InvokeJSFlags enum, we already have InvokeFlag for the same purpose.
svenpanne@chromium.org [Fri, 29 Apr 2011 20:07:41 +0000 (20:07 +0000)]
Removed InvokeJSFlags enum, we already have InvokeFlag for the same purpose.
Review URL: http://codereview.chromium.org/6880321

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

13 years agoRemoved dead code: GenericUnaryOpStub is not used anymore, as a consequence, Negative...
svenpanne@chromium.org [Fri, 29 Apr 2011 17:49:53 +0000 (17:49 +0000)]
Removed dead code: GenericUnaryOpStub is not used anymore, as a consequence, NegativeZeroHandling and UnaryOpFlags are dead, too.
Review URL: http://codereview.chromium.org/6903124

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

13 years agoFix windows build.
vitalyr@chromium.org [Fri, 29 Apr 2011 16:26:37 +0000 (16:26 +0000)]
Fix windows build.

TBR=mnaganov@chromium.org

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

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

13 years agoll_prof: Reduce profiling hooks overhead from >400% to 25%.
vitalyr@chromium.org [Fri, 29 Apr 2011 16:06:25 +0000 (16:06 +0000)]
ll_prof: Reduce profiling hooks overhead from >400% to 25%.

Switched to using binary low-level log instead of the textual log used
by the ticks processor. The binary log contains code-related events,
code object names, and their bodies. When writing to the log we ask
glibc to use a larger buffer. To avoid complex processing of the
snapshot log (which is still textual) the serializer emits final
snapshot position to code name mappings that can be quickly be read
without replaying the snapshot log. (This might be useful for the
ticks processor.)

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

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

13 years agoStrict mode eval declares its locals in its own environment.
mmaly@chromium.org [Fri, 29 Apr 2011 15:31:39 +0000 (15:31 +0000)]
Strict mode eval declares its locals in its own environment.

BUG=
TEST=strict-mode.js

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

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

13 years agoFix whitespace error after r7726
mikhail.naganov@gmail.com [Fri, 29 Apr 2011 12:47:34 +0000 (12:47 +0000)]
Fix whitespace error after r7726

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

13 years agoFix Linux builds after r7724
mikhail.naganov@gmail.com [Fri, 29 Apr 2011 12:43:24 +0000 (12:43 +0000)]
Fix Linux builds after r7724

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

13 years agoARM: Enhance the hardfloat support
sgjesse@chromium.org [Fri, 29 Apr 2011 12:13:46 +0000 (12:13 +0000)]
ARM: Enhance the hardfloat support

The "simple" function with inline assembly for detecting hardfloat have been changed to handle compiling without VFP and with thumb.

The SCons setting for the float abi now follows then naming used by the GCC -mfloat-abi and soft has been added.

R=karlklose@chromium.org

BUG=none
TEST=none

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

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

13 years agoAdd support for startup data (snapshot) compression.
mikhail.naganov@gmail.com [Fri, 29 Apr 2011 12:08:33 +0000 (12:08 +0000)]
Add support for startup data (snapshot) compression.

This is for mobile platforms where application footprint size is
important. To avoid including compression libraries into V8, we assume
that the host machine have them (true for Linux), and rely on embedder
to provide decompressed data.

Currently, only snapshot data can be comressed. It is also possible to
compress libraries sources, but it is more involved and will be
addressed in another CL.

BUG=none
TEST=none

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

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