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

13 years agoRemove unused constructor BinaryOperation(Assignment* compound_assignment).
whesse@chromium.org [Fri, 29 Apr 2011 11:25:01 +0000 (11:25 +0000)]
Remove unused constructor BinaryOperation(Assignment* compound_assignment).

BUG=
TEST=

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

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

13 years agoARM: Fix handling of return value of compare_doubles in the simulator.
karlklose@chromium.org [Fri, 29 Apr 2011 11:16:09 +0000 (11:16 +0000)]
ARM: Fix handling of return value of compare_doubles in the simulator.

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

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

13 years agoUse type info for count operation in Crankshaft.
whesse@chromium.org [Fri, 29 Apr 2011 09:21:18 +0000 (09:21 +0000)]
Use type info for count operation in Crankshaft.

BUG=
TEST=

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

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

13 years agoHandle join of sparse arrays with non-empty separator more efficiently.
lrn@chromium.org [Fri, 29 Apr 2011 08:53:36 +0000 (08:53 +0000)]
Handle join of sparse arrays with non-empty separator more efficiently.

BUG=v8:1028

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

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

13 years agoARM: Support hardfloat in SCons build and make it a build time setting
sgjesse@chromium.org [Fri, 29 Apr 2011 08:50:38 +0000 (08:50 +0000)]
ARM: Support hardfloat in SCons build and make it a build time setting

Add option armeabi to the SCons build for selecting the floating point variant to use. Also add externally defined CCFLAGS environment for all targets. Run test.py with option -S armeabi=hardfloat to test with hardfloat enabled.

Make selecting hardfloat EABI variant a build-time option instead of a runtime option.

Add a simple check of the EABI variant during V8 initialization to exit if the compilation was not configured correctly. The reason for this is that GCC does not provide a compile time symbol defining the EABI variant. This check is not fool-proof as it cannot check the compilation configuration used for the snapshot if any.

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

BUG=none
TEST=none

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

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

13 years agoImprove modulo operation in lithium on x64.
sgjesse@chromium.org [Fri, 29 Apr 2011 07:22:39 +0000 (07:22 +0000)]
Improve modulo operation in lithium on x64.
This is the x64 porting of http://codereview.chromium.org/6816049/

Patch by: Yuqiang Xian from Intel

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

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

13 years agoFix build
danno@chromium.org [Fri, 29 Apr 2011 05:36:27 +0000 (05:36 +0000)]
Fix build

TBR=ager@chromium.org

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

13 years agoFix assert in KeyedLoadIC constructor
danno@chromium.org [Fri, 29 Apr 2011 05:03:39 +0000 (05:03 +0000)]
Fix assert in KeyedLoadIC constructor

Don't assert when external array ICs are also handled by the KeyedLoadIC.

BUG=1346
TEST=none

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

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

13 years agoFixed compilation breakage due to warnings. TBR...
svenpanne@chromium.org [Thu, 28 Apr 2011 21:02:14 +0000 (21:02 +0000)]
Fixed compilation breakage due to warnings. TBR...
Review URL: http://codereview.chromium.org/6880286

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

13 years agoLiveEdit: optimize substring comparison
peter.rybin@gmail.com [Thu, 28 Apr 2011 20:24:47 +0000 (20:24 +0000)]
LiveEdit: optimize substring comparison

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

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

13 years agoFixed build on Mac, where g++ is a bit too dumb to see that a variable is always...
svenpanne@chromium.org [Thu, 28 Apr 2011 20:11:39 +0000 (20:11 +0000)]
Fixed build on Mac, where g++ is a bit too dumb to see that a variable is always initialized.
Review URL: http://codereview.chromium.org/6893105

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

13 years agoSupport LiveEdit when standing on return operator
peter.rybin@gmail.com [Thu, 28 Apr 2011 20:05:50 +0000 (20:05 +0000)]
Support LiveEdit when standing on return operator

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

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

13 years agoType recording for unary ops
svenpanne@chromium.org [Thu, 28 Apr 2011 17:49:55 +0000 (17:49 +0000)]
Type recording for unary ops

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

13 years agoFix missing writebarrier in ArraySplice builtin.
vegorov@chromium.org [Thu, 28 Apr 2011 16:03:40 +0000 (16:03 +0000)]
Fix missing writebarrier in ArraySplice builtin.

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

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

13 years agoImprove modulo operation in lithium on IA32.
sgjesse@chromium.org [Thu, 28 Apr 2011 14:58:45 +0000 (14:58 +0000)]
Improve modulo operation in lithium on IA32.
Implement fast paths for the special cases like PowerOfTwo divisors
and the dividend being smaller than the divisor (non-negative).

BUG=v8:1314

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

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

13 years agoFix broken cases in x64 disassembler.
ager@chromium.org [Thu, 28 Apr 2011 14:56:09 +0000 (14:56 +0000)]
Fix broken cases in x64 disassembler.

R=whesse@chromium.org

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

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

13 years agoExpose hasOwnProperty() through API.
karlklose@chromium.org [Thu, 28 Apr 2011 09:27:40 +0000 (09:27 +0000)]
Expose hasOwnProperty() through API.

BUG=http://code.google.com/p/v8/issues/detail?id=1342
TEST=test-api/HasOwnProperty

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

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

13 years agoSometimes avoid checking whether the receiver is an object in generated code.
kmillikin@chromium.org [Thu, 28 Apr 2011 09:03:15 +0000 (09:03 +0000)]
Sometimes avoid checking whether the receiver is an object in generated code.

In unoptimized code, use the version of the CallFunctionStub that does not
check whether its receiver is an object in all the cases where we statically
know that it is an object.

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

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

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

13 years agoRemove all android references from SCons file
sgjesse@chromium.org [Thu, 28 Apr 2011 08:01:13 +0000 (08:01 +0000)]
Remove all android references from SCons file

I accidentally left some in r7686.

R=erik.corry@gmail.com

BUG=none
TEST=none

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

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

13 years agoFix a bug in a corner case of direct eval detection.
kmillikin@chromium.org [Thu, 28 Apr 2011 05:04:48 +0000 (05:04 +0000)]
Fix a bug in a corner case of direct eval detection.

The corner case is calling a function named 'eval' that is looked up at
runtime and found in a non-global context (but not an extension object).
The bug is that we used the function itself as the receiver rather than
using the global object.

R=ager@chromium.org
TEST=has been added to the eval mjsunit test

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

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

13 years agoAtomic ops: put the CPU features struct in v8::internal.
vitalyr@chromium.org [Wed, 27 Apr 2011 17:29:01 +0000 (17:29 +0000)]
Atomic ops: put the CPU features struct in v8::internal.

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

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

13 years agoAdd AST ID to RelocInfo for type-recording ICs. Changes 7644 and 7632, combined.
whesse@chromium.org [Wed, 27 Apr 2011 15:02:59 +0000 (15:02 +0000)]
Add AST ID to RelocInfo for type-recording ICs.  Changes 7644 and 7632, combined.

BUG=
TEST=

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

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

13 years agoImplement hardfloat calling convention in macro assembler and simulator.
karlklose@chromium.org [Wed, 27 Apr 2011 14:29:25 +0000 (14:29 +0000)]
Implement hardfloat calling convention in macro assembler and simulator.

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

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

13 years agoInitial support for generating Visual Studio solution and project files using GYP
sgjesse@chromium.org [Wed, 27 Apr 2011 14:20:21 +0000 (14:20 +0000)]
Initial support for generating Visual Studio solution and project files using GYP

The Windows specific part of the common.gypi now reflects the options used for 'msvc' in the SCons build.
Review URL: http://codereview.chromium.org/6880237

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

13 years agoRefactor lithium classes to reduce the number of virtual functions.
fschneider@chromium.org [Wed, 27 Apr 2011 11:41:42 +0000 (11:41 +0000)]
Refactor lithium classes to reduce the number of virtual functions.

This reduces the binary size by making the Is* type-test functions non-virtual.

I had to change Gap and Label instructions to have a common abstract superclass because both act as gap-instructions for the register allocator.
Review URL: http://codereview.chromium.org/6880204

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

13 years agoPrepare push to trunk. Now working on version 3.3.3.
erik.corry@gmail.com [Wed, 27 Apr 2011 08:50:06 +0000 (08:50 +0000)]
Prepare push to trunk.  Now working on version 3.3.3.
Review URL: http://codereview.chromium.org/6893053

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

13 years agoRemove the Android build option from the SCons build
sgjesse@chromium.org [Wed, 27 Apr 2011 08:25:23 +0000 (08:25 +0000)]
Remove the Android build option from the SCons build

The SCons build for Android has not been maintained for some time and did not work with the latest Android open source version. Android now has its own makefiles for building v8 and the v8_shell.

R=erik.corry@gmail.com

BUG=none
TEST=none

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

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

13 years agoFix raw pointer misuse in StringReplaceRegExpWithEmptyString. Committing http:/...
erik.corry@gmail.com [Wed, 27 Apr 2011 08:20:38 +0000 (08:20 +0000)]
Fix raw pointer misuse in StringReplaceRegExpWithEmptyString.  Committing codereview.chromium.org/6905035/ for vegorov

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

13 years agoDisable logging for the Threading test in cctest/test-api by default.
whesse@chromium.org [Wed, 27 Apr 2011 07:56:41 +0000 (07:56 +0000)]
Disable logging for the Threading test in cctest/test-api by default.

BUG=
TEST=test-api/Threading

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

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

13 years agoFix an edge case in non-vfp3 version of TypeRecordingBinaryOpStub.
vegorov@chromium.org [Tue, 26 Apr 2011 16:40:20 +0000 (16:40 +0000)]
Fix an edge case in non-vfp3 version of TypeRecordingBinaryOpStub.

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

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

13 years agoCrankshaft support for IN.
vegorov@chromium.org [Tue, 26 Apr 2011 15:22:44 +0000 (15:22 +0000)]
Crankshaft support for IN.

In JavaScriptFrame::Print avoid printing optimized frame as if it is unoptimized.

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

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

13 years agoFix compilation with debuggersupport=off.
vegorov@chromium.org [Tue, 26 Apr 2011 13:53:19 +0000 (13:53 +0000)]
Fix compilation with debuggersupport=off.

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

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

13 years agoFix compilation of D8 with console=readline
sgjesse@chromium.org [Tue, 26 Apr 2011 13:26:05 +0000 (13:26 +0000)]
Fix compilation of D8 with console=readline

BUG=
TEST=

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

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

13 years agoAdd prototype transitions cache to Map.
vegorov@chromium.org [Tue, 26 Apr 2011 09:44:55 +0000 (09:44 +0000)]
Add prototype transitions cache to Map.

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

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

13 years agoAvoid hidden TLS access in CpuProfiler::is_profiling().
vitalyr@chromium.org [Fri, 22 Apr 2011 06:40:22 +0000 (06:40 +0000)]
Avoid hidden TLS access in CpuProfiler::is_profiling().

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

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

13 years agofix compile error in doublearray code on ARM
jkummerow@chromium.org [Thu, 21 Apr 2011 10:02:58 +0000 (10:02 +0000)]
fix compile error in doublearray code on ARM

TEST=Bots are green

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

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

13 years agoSupport Float64Arrays
jkummerow@chromium.org [Thu, 21 Apr 2011 07:15:43 +0000 (07:15 +0000)]
Support Float64Arrays

BUG=None
TEST=mjsunit/external-arrays.js; updated cctest; existing unit tests

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

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

13 years agoChange the Hydrogen representation of uses.
kmillikin@chromium.org [Wed, 20 Apr 2011 10:38:08 +0000 (10:38 +0000)]
Change the Hydrogen representation of uses.

Rather than representing a use as a pointer to an HValue and then searching
for the specific (ambiguous) operand, we now represent a use as a pair of an
HValue and the input operand index.  Additionally, use a linked list instead
of a growable array list since we never use random access.

This allows us to remove a bunch of similarly named and subtly different
functions from the HValue API.  The cost in extra zone allocation per use is
partially offset by reusing use list nodes when replacing a use of one value
with another.

R=danno@chromium.org,fschneider@chromium.org

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

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

13 years agoPrepare push to trunk. Now working on version 3.3.2.
ricow@chromium.org [Wed, 20 Apr 2011 09:23:19 +0000 (09:23 +0000)]
Prepare push to trunk.  Now working on version 3.3.2.
Review URL: http://codereview.chromium.org/6880065

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

13 years agoMake throw inlineable only if the exception is inlineable.
karlklose@chromium.org [Wed, 20 Apr 2011 09:15:52 +0000 (09:15 +0000)]
Make throw inlineable only if the exception is inlineable.

BUG=1337
TEST=regress-1337

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

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

13 years agoRevert r7665.
fschneider@chromium.org [Wed, 20 Apr 2011 09:08:26 +0000 (09:08 +0000)]
Revert r7665.
Review URL: http://codereview.chromium.org/6873106

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

13 years agoLithium LLabel instruction are no longer used as gap instructions.
fschneider@chromium.org [Tue, 19 Apr 2011 16:14:42 +0000 (16:14 +0000)]
Lithium LLabel instruction are no longer used as gap instructions.

Instead we use the first part of the first gap after
the label to insert gap-moves for resolving control-flow
and phis.
Review URL: http://codereview.chromium.org/6873075

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

13 years agoRevert revisions 7644 and 7632, they are causing assertion failures in interactive_ui...
ricow@chromium.org [Tue, 19 Apr 2011 16:04:49 +0000 (16:04 +0000)]
Revert revisions 7644 and 7632, they are causing assertion failures in interactive_ui_tests debug mode.
Review URL: http://codereview.chromium.org/6873076

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

13 years agoRevert r7662.
fschneider@chromium.org [Tue, 19 Apr 2011 13:43:36 +0000 (13:43 +0000)]
Revert r7662.
Review URL: http://codereview.chromium.org/6878042

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

13 years agoMake predicates on lithium instruction classes non-virtual.
fschneider@chromium.org [Tue, 19 Apr 2011 12:34:07 +0000 (12:34 +0000)]
Make predicates on lithium instruction classes non-virtual.

This is the lithium analog to the refactoring of the HIR classes in r7659.
Review URL: http://codereview.chromium.org/6877036

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

13 years agoSkip crashing cctests.
karlklose@chromium.org [Tue, 19 Apr 2011 10:34:34 +0000 (10:34 +0000)]
Skip crashing cctests.

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

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

13 years agoUse movaps instead of movsd in the gap resolver on ia32 as well.
fschneider@chromium.org [Tue, 19 Apr 2011 09:16:34 +0000 (09:16 +0000)]
Use movaps instead of movsd in the gap resolver on ia32 as well.

This is ok since we don't care about preserving the upper half
of xmm registers in Crankshaft code.
Review URL: http://codereview.chromium.org/6880007

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

13 years agoReduce the number of virtual function in hydrogen-instruction.h classes
fschneider@chromium.org [Tue, 19 Apr 2011 09:11:21 +0000 (09:11 +0000)]
Reduce the number of virtual function in hydrogen-instruction.h classes

Instead of using virtual type-tester functions we can just
generate non-virtual ones for all concrete IR classes.

This is changes reduces the V8 binary size by ~2%.

I also simplified the macros to declare new hydrogen instructions slightly.
The name used for debug output is no longer passed as a separate string.
Instead we just use the class name.
Review URL: http://codereview.chromium.org/6880014

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

13 years agoCorrect test names for the failing deserialization tests in cctest.status.
karlklose@chromium.org [Tue, 19 Apr 2011 07:50:46 +0000 (07:50 +0000)]
Correct test names for the failing deserialization tests in cctest.status.

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

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

13 years agoMaintain proper pointer map for branches when resolving phis.
vegorov@chromium.org [Mon, 18 Apr 2011 20:26:24 +0000 (20:26 +0000)]
Maintain proper pointer map for branches when resolving phis.

The same was done for gap moves connecting live ranges in r6858.

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

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

13 years agoARM: Optimisations for call, jump and untag.
karlklose@chromium.org [Mon, 18 Apr 2011 13:53:11 +0000 (13:53 +0000)]
ARM: Optimisations for call, jump and untag.

Improves some V8 benchmarks by a few % on A9.

Patch by ARM Ltd.

BUG=none
TEST=Added to test-assembler-arm.cc.

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

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

13 years agoMinor cosmetic changes.
antonm@chromium.org [Mon, 18 Apr 2011 13:28:00 +0000 (13:28 +0000)]
Minor cosmetic changes.

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

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

13 years agoPrepare push to trunk. Now working on version 3.3.1.
danno@chromium.org [Mon, 18 Apr 2011 12:37:57 +0000 (12:37 +0000)]
Prepare push to trunk.  Now working on version 3.3.1.

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

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

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

13 years agoFix x64 typefeedback for property assignments.
fschneider@chromium.org [Mon, 18 Apr 2011 10:51:57 +0000 (10:51 +0000)]
Fix x64 typefeedback for property assignments.

There was not ast-id recorded. I removed the default arguments
for the helper functions that emit IC calls to make sure
we are not missing other places.
Review URL: http://codereview.chromium.org/6878009

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

13 years agoRevert 7634, Fix experimental.gyp to include i18n-empty-js.cc so that js2c.py get...
ricow@chromium.org [Mon, 18 Apr 2011 08:01:50 +0000 (08:01 +0000)]
Revert 7634, Fix experimental.gyp to include i18n-empty-js.cc so that js2c.py get correct parameters.

This caused all chromium based builds to fail (e.g., DumpRenderTree)
Review URL: http://codereview.chromium.org/6882003

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

13 years agoStyle fix, remove semicolons from tools/test.py
ricow@chromium.org [Mon, 18 Apr 2011 07:23:48 +0000 (07:23 +0000)]
Style fix, remove semicolons from tools/test.py
Review URL: http://codereview.chromium.org/6882002

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

13 years agoInitialize ThreadLocalTop.
vitalyr@chromium.org [Fri, 15 Apr 2011 20:47:27 +0000 (20:47 +0000)]
Initialize ThreadLocalTop.

ThreadLocalTop used to be static and was zero initialized by the
linker. With isolates we have to give it a constructor.

BUG=http://crbug.com/79393

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

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

13 years agoFix experimental.gyp to include i18n-empty-js.cc so that js2c.py get correct parameters.
cira@chromium.org [Fri, 15 Apr 2011 20:31:30 +0000 (20:31 +0000)]
Fix experimental.gyp to include i18n-empty-js.cc so that js2c.py get correct parameters.
Bug occured somewhere in the merge process.
Review URL: http://codereview.chromium.org/6875013

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

13 years agoFix debuger evaluation on a breakpoint inside eval
yurys@chromium.org [Fri, 15 Apr 2011 14:09:45 +0000 (14:09 +0000)]
Fix debuger evaluation on a breakpoint inside eval

Corresponding Chromium issue: http://code.google.com/p/chromium/issues/detail?id=74412
Review URL: http://codereview.chromium.org/6875005

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

13 years agoRecord AST ids in relocation info at spots where we collect dynamic type feedback.
whesse@chromium.org [Fri, 15 Apr 2011 13:18:53 +0000 (13:18 +0000)]
Record AST ids in relocation info at spots where we collect dynamic type feedback.

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

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

13 years agoX64 tweaks.
lrn@chromium.org [Fri, 15 Apr 2011 13:06:41 +0000 (13:06 +0000)]
X64 tweaks.

Use movapd instead of movsd to move between xmm registers. Avoids partial
register writes and potential stalls.

Use xorps instead of xorpd to zero a register. Same effect and latency, but
one byte smaller.

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

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

13 years agoIntroduce experimental natives that are enabled by a runtime flag.
ager@chromium.org [Fri, 15 Apr 2011 12:31:03 +0000 (12:31 +0000)]
Introduce experimental natives that are enabled by a runtime flag.

Clean up the use of js2c. We generated two identical files.

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

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

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

13 years agoFix bug in X64 Math.abs optimization
lrn@chromium.org [Fri, 15 Apr 2011 11:43:53 +0000 (11:43 +0000)]
Fix bug in X64 Math.abs optimization

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

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

13 years agoCleanup of mjsunit.js code and make assertEquals more strict.
lrn@chromium.org [Fri, 15 Apr 2011 11:35:36 +0000 (11:35 +0000)]
Cleanup of mjsunit.js code and make assertEquals more strict.

Encapsulate the helper functions in mjsunit.js.
Now only exposes the exception class and the assertXXX functions.

Make assertEquals use === instead of ==.
This prevents a lot of possiblefalse positives in tests, and avoids
having to do assertTrue(expected === actual) when you need it.

Fixed some tests that were either buggy or assuming == test.

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

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

13 years agoARM: Implement correct rounding in the lithium codegenerator.
karlklose@chromium.org [Fri, 15 Apr 2011 11:29:01 +0000 (11:29 +0000)]
ARM: Implement correct rounding in the lithium codegenerator.

This patch provides testing for values that have a fraction part of 0.5 and uses a different rounding method for them. The original method of VFPTruncating the value with round-to-nearest is not correct because it does not round to the larger number in case of a tie.

BUG=http://code.google.com/p/v8/issues/detail?id=958

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

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

13 years agoReapply 7581, Fix tools/test.py to allow CTRL+C to work correctly again.
ricow@chromium.org [Fri, 15 Apr 2011 09:41:09 +0000 (09:41 +0000)]
Reapply 7581, Fix tools/test.py to allow CTRL+C to work correctly again.

Buildbot now has python 2.6

Also, remove some semicolons.
Review URL: http://codereview.chromium.org/6871007

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

13 years agoFix presubmit.
ricow@chromium.org [Fri, 15 Apr 2011 08:40:16 +0000 (08:40 +0000)]
Fix presubmit.
Review URL: http://codereview.chromium.org/6869006

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

13 years agoLand Kevin's patch for supporting %_CallFunction in Crankshaft.
fschneider@chromium.org [Fri, 15 Apr 2011 07:58:22 +0000 (07:58 +0000)]
Land Kevin's patch for supporting %_CallFunction in Crankshaft.

Original code review: http://codereview.chromium.org/6838018/

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6869005

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

13 years agoRemove support for inlined property loads and stores.
fschneider@chromium.org [Fri, 15 Apr 2011 07:48:58 +0000 (07:48 +0000)]
Remove support for inlined property loads and stores.

The full code generator does not generate inline code for
property loads and stores. All this code is unused with
Crankshaft.
Review URL: http://codereview.chromium.org/6850015

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

13 years agoSupport string add in crankshaft:
vitalyr@chromium.org [Fri, 15 Apr 2011 06:39:36 +0000 (06:39 +0000)]
Support string add in crankshaft:

o The type recording binary stub got a new type for string + string.

o Added HStringAdd and LStringAdd based on the new type info.

o Started using HValue types to avoid unneccesary checks.

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

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

13 years agoMake HConstant a bit more compact.
vitalyr@chromium.org [Fri, 15 Apr 2011 06:04:50 +0000 (06:04 +0000)]
Make HConstant a bit more compact.

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

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

13 years agoAdd v8Locale.Collator
cira@chromium.org [Thu, 14 Apr 2011 19:10:51 +0000 (19:10 +0000)]
Add v8Locale.Collator

This is a partial implementation of Collator per what's agreed upon at the last
ECMAScript meeting + mailing list. Only the following three options are implemented: ignoreAccent, ignoreCase, numeric.

ChromeOS and Chrome need this feature for M12. This could be added as chrome extension API. Giiven that we have a rough agreement on the collation part of ECMAScript API, we thought it'd save us some duplicated work adding this to v8 (experimental i18n api) now rather than implementing it in Chrome now and moving it later.

BUG=28604
TEST=http://i18nl10n.com/chrome/coll2.html
Review URL: http://codereview.chromium.org/6673011

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

13 years agoRemove unused AssignedVariableAnalyzer.
fschneider@chromium.org [Thu, 14 Apr 2011 14:31:43 +0000 (14:31 +0000)]
Remove unused AssignedVariableAnalyzer.

Not used in Crankshaft anymore.
Review URL: http://codereview.chromium.org/6849023

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

13 years agoFix presubmit errors in bootstrapper.cc.
karlklose@chromium.org [Thu, 14 Apr 2011 12:05:03 +0000 (12:05 +0000)]
Fix presubmit errors in bootstrapper.cc.

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

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

13 years agoRefine allocation policy for input operands at calls.
fschneider@chromium.org [Thu, 14 Apr 2011 11:10:00 +0000 (11:10 +0000)]
Refine allocation policy for input operands at calls.

For instructions that are marked as calls we can use:

1. Fixed input registers

2. Use-at-start policy (register, memory or constant).

(Memory or constant would not need the use-at-start policy, but
not specifying use-at-start prevents the allocator from using
a register even if there is one available. That's why use-at-start
is required and guarded by assertion)
Review URL: http://codereview.chromium.org/6853010

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

13 years agoX64: Use roundsd for DoMathFloor.
lrn@chromium.org [Thu, 14 Apr 2011 09:05:43 +0000 (09:05 +0000)]
X64: Use roundsd for DoMathFloor.

TEST=mjsunit/math-floor

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

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