platform/upstream/v8.git
14 years agoARM: Use VFP for non-Smi bitops results. This is basically Rodolph
erik.corry@gmail.com [Fri, 2 Jul 2010 20:03:07 +0000 (20:03 +0000)]
ARM: Use VFP for non-Smi bitops results.  This is basically Rodolph
Perfettas change from http://codereview.chromium.org/2829032 with
a tiny tweak to the unsigned shift right case.
Review URL: http://codereview.chromium.org/2861043

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

14 years agoAdd ES5 Object.isExtensible and Object.preventExtensions.
ricow@chromium.org [Fri, 2 Jul 2010 14:36:34 +0000 (14:36 +0000)]
Add ES5 Object.isExtensible and Object.preventExtensions.

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

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

14 years agoThis change allows generating call-stubs for objects with normal (non-fast) objects...
serya@chromium.org [Fri, 2 Jul 2010 14:15:04 +0000 (14:15 +0000)]
This change allows generating call-stubs for objects with normal (non-fast) objects in the prototype chain. StubCompiler::CheckPrototypes does ne

If the top level object is a normal object the stub is stored in its prototype map.

Lookup result of type NORMAL is not covered (since the normal stub currently doesn't check the prototype chain).
Review URL: http://codereview.chromium.org/2801018

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

14 years agoX64: Added register holding Smi::FromInt(1).
lrn@chromium.org [Fri, 2 Jul 2010 14:09:35 +0000 (14:09 +0000)]
X64: Added register holding Smi::FromInt(1).
Don't use r15 for anything any more.

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

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

14 years agoUse the number of in-object properties when deciding how many fast
ager@chromium.org [Fri, 2 Jul 2010 11:27:57 +0000 (11:27 +0000)]
Use the number of in-object properties when deciding how many fast
properties to allow on an object. If there are many in-object
properties it is unlikely that the object is used as a dictionary and
we allow more map transitions to keep such objects in fast case.

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

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

14 years agoSimplify ToBoolean if we know we have a Smi.
erik.corry@gmail.com [Fri, 2 Jul 2010 08:42:22 +0000 (08:42 +0000)]
Simplify ToBoolean if we know we have a Smi.
Review URL: http://codereview.chromium.org/2808039

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

14 years agoLanding for victorw@chromium.org.
ager@chromium.org [Fri, 2 Jul 2010 07:39:42 +0000 (07:39 +0000)]
Landing for victorw@chromium.org.

Fix issues so v8 could be built as a DLL.

-. get rid of all the compiler warning by moving dllexport/dllimport
to the individual members for classes which have inline members.

-. update v8 gyp to build v8.dll for chromium multi-dll version (win
and component==shared_library)

Note: most of the code are contributed by sjesse.

Code review URL: http://codereview.chromium.org/2882009/show

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

14 years agoFix problem in r4998. Initialize target of break and continue in fast smi loop on...
whesse@chromium.org [Thu, 1 Jul 2010 16:00:51 +0000 (16:00 +0000)]
Fix problem in r4998.  Initialize target of break and continue in fast smi loop on X64.
Review URL: http://codereview.chromium.org/2830033

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

14 years agoLet relational comparison operators quickly compare a string with itself.
whesse@chromium.org [Thu, 1 Jul 2010 15:18:07 +0000 (15:18 +0000)]
Let relational comparison operators quickly compare a string with itself.
Review URL: http://codereview.chromium.org/2802028

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

14 years agoARM: Don't emit a write barrier for an inlined keyed load
erik.corry@gmail.com [Thu, 1 Jul 2010 15:06:24 +0000 (15:06 +0000)]
ARM: Don't emit a write barrier for an inlined keyed load
if the right hand side is a literal like true, false, etc.
Also if the value is not a likely Smi we inline the newspace
check.
Review URL: http://codereview.chromium.org/2833048

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

14 years agoX64: Made simpler version of fast-smi-loop code.
lrn@chromium.org [Thu, 1 Jul 2010 13:19:32 +0000 (13:19 +0000)]
X64: Made simpler version of fast-smi-loop code.
It avoids the overflow check on the increment.

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

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

14 years agoClear function breakpoints in Debug::HandleWeakDebugInfo callback.
podivilov@chromium.org [Thu, 1 Jul 2010 11:48:45 +0000 (11:48 +0000)]
Clear function breakpoints in Debug::HandleWeakDebugInfo callback.

When removing debug_info from SharedFunctionInfo, clear all breakpoints associated with that debug_info.
This is needed because function will live in heap until next gc, and therefore can be found
by Runtime::FindSharedFunctionInfoInScript.

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

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

14 years agoLiveEdit: Support debug break slots in frame dropping implementation
peter.rybin@gmail.com [Wed, 30 Jun 2010 17:29:00 +0000 (17:29 +0000)]
LiveEdit: Support debug break slots in frame dropping implementation

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

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

14 years agoARM: Correctness fix to Math.pow optimization
sgjesse@chromium.org [Wed, 30 Jun 2010 15:19:06 +0000 (15:19 +0000)]
ARM: Correctness fix to Math.pow optimization

The change in r4990 contained a bug in Math.pow when then exponent was a large negative smi. In that case calculating 1/Math.pow(x,-y) did not provide the correct result as Math.pow(x,-y) would overflow ti infinity. This was caught by Sputnik test S8.5_A13_T1.
Review URL: http://codereview.chromium.org/2815039

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

14 years agoARM: Fix GC bug with previous change
sgjesse@chromium.org [Wed, 30 Jun 2010 13:39:03 +0000 (13:39 +0000)]
ARM: Fix GC bug with previous change

The change in r4990 contained a bug in Math.pow. One of the arguments for the call to runtime where clobbered if allocation of the heap number for the result failed.

Caught by a couple of Mozilla tests which does a lot of calls to Math.pow.

Fix presubmit error in x64.
Review URL: http://codereview.chromium.org/2847037

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

14 years agoDecide that different detectable objects are not equal without calling runtime, on...
whesse@chromium.org [Wed, 30 Jun 2010 13:24:47 +0000 (13:24 +0000)]
Decide that different detectable objects are not equal without calling runtime, on all platforms.
Review URL: http://codereview.chromium.org/2805046

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

14 years agoImplement IC for storing to dictionary case objects.
ager@chromium.org [Wed, 30 Jun 2010 12:27:49 +0000 (12:27 +0000)]
Implement IC for storing to dictionary case objects.

The IC stub is completely generic, so there will only be one such stub
in the system.

Added a new overloaded version of the macro assembler RecordWrite
method for cases where we have the address we store to computed up
front.

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

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

14 years agoARM: Special code for raising to the power of an integer
sgjesse@chromium.org [Wed, 30 Jun 2010 12:22:15 +0000 (12:22 +0000)]
ARM: Special code for raising to the power of an integer

When calculating Math.pow where the exponent is a smi use a simple loop to calculate the result.

Added support for the vmov instruction moving from one doubleword extension register to another.

Added some Math.pow tests which partially covers what is in the Sputnik tests.
Review URL: http://codereview.chromium.org/2804033

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

14 years agoPrepare push to trunk. We are now working on version 2.2.22.
lrn@chromium.org [Wed, 30 Jun 2010 08:57:23 +0000 (08:57 +0000)]
Prepare push to trunk. We are now working on version 2.2.22.

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

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

14 years agoARM: Fix disassembly of double registers
sgjesse@chromium.org [Wed, 30 Jun 2010 08:46:19 +0000 (08:46 +0000)]
ARM: Fix disassembly of double registers

Added a few disassembler tests for vadd, vsub, vmul and vdiv.
Review URL: http://codereview.chromium.org/2823036

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

14 years agoFix Chromium issue 47824.
lrn@chromium.org [Wed, 30 Jun 2010 07:40:40 +0000 (07:40 +0000)]
Fix Chromium issue 47824.
In rare cases a two-byte string was mistaken for an ascii-string.

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

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

14 years agoUpdate the mozilla tests to the newest version.
ricow@chromium.org [Wed, 30 Jun 2010 06:51:38 +0000 (06:51 +0000)]
Update the mozilla tests to the newest version.

This includes an update to the test expectations, and a new bug found
when investigating the new failures introduced by the updated tests
(http://code.google.com/p/v8/issues/detail?id=762)

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

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

14 years agoX64: Make the ToBoolean inline code do even less if the value is known to be a smi.
lrn@chromium.org [Tue, 29 Jun 2010 14:15:34 +0000 (14:15 +0000)]
X64: Make the ToBoolean inline code do even less if the value is known to be a smi.

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

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

14 years agoX64: A number of small tweaks.
lrn@chromium.org [Tue, 29 Jun 2010 14:03:11 +0000 (14:03 +0000)]
X64: A number of small tweaks.
Fix bug in disassembler output (using non-generic registers for memory operands in some cases).
Fix bug in movsxbq and make REX optional in movzx?q.

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

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

14 years agoType info: fix three bit representation of smi type.
vitalyr@chromium.org [Tue, 29 Jun 2010 13:48:20 +0000 (13:48 +0000)]
Type info: fix three bit representation of smi type.

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

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

14 years agotools/stats-viewer.py: add counter filter.
vitalyr@chromium.org [Tue, 29 Jun 2010 11:30:34 +0000 (11:30 +0000)]
tools/stats-viewer.py: add counter filter.

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

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

14 years agoARM: Use the vsqrt instruction when available
sgjesse@chromium.org [Tue, 29 Jun 2010 09:40:36 +0000 (09:40 +0000)]
ARM: Use the vsqrt instruction when available

vsqrt is used to calculate Math.sqrt(x), Math.pow(x, 0.5) and Math.pow(x, -0.5). Code size doesn't matter, as %_MathSqrt and %_MathPow are only called in one place each.
Review URL: http://codereview.chromium.org/2885002

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

14 years agoEven more cleanup of es5 test expectations.
ricow@chromium.org [Tue, 29 Jun 2010 09:00:20 +0000 (09:00 +0000)]
Even more cleanup of es5 test expectations.

Removed expectations for tests that was removed in the latest
revision. Also changed FAIL_OK to FAIL for test that we should
implement but currently don't (thanks to lasse for noticing this).

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

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

14 years agoUpdate JSON.stringify to floor the space parameter (fixes issue 753).
ricow@chromium.org [Tue, 29 Jun 2010 07:22:40 +0000 (07:22 +0000)]
Update JSON.stringify to floor the space parameter (fixes issue 753).
Review URL: http://codereview.chromium.org/2877004

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

14 years agoEnsure that ToPrimitive is called on all objects involved in comparisons <, <=, ...
whesse@chromium.org [Tue, 29 Jun 2010 06:47:19 +0000 (06:47 +0000)]
Ensure that ToPrimitive is called on all objects involved in comparisons <, <=, >, >=.  Ensures that ToPrimitive is called when comparing an object to undefined. Fixes bugs on all platforms.
Review URL: http://codereview.chromium.org/2834022

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

14 years agoUpdate the ES5 conformance tests to the latest version and fix test
ricow@chromium.org [Tue, 29 Jun 2010 05:56:15 +0000 (05:56 +0000)]
Update the ES5 conformance tests to the latest version and fix test
expectations.

We are currently using a rather old version of the ES5 conformance
tests and there has been a range of bug fixes in the test set. This
change brings us up to date.

In addition, our current test expectations discards the all chapters
but chapter 15. I have enabled the other chapters, cleaned up the
tests that we no longer fail on, and filed bugs for tests that we fail on.

It seems some of the bugs on the es5 conformance bug-tracker has been
fixed but not marked fixed. I will file bugs for the newly discovered
test bugs.

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

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

14 years agoUpdate the V8 benchmark suite with the following fixes:
kasperl@chromium.org [Mon, 28 Jun 2010 12:28:37 +0000 (12:28 +0000)]
Update the V8 benchmark suite with the following fixes:

*) Fix a couple of typos in DeltaBlue.
*) Make sure Splay doesn't always remove the node just added.
*) Run all benchmarks for at least 32 times (and warm up).
Review URL: http://codereview.chromium.org/2836031

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

14 years agoProvide actual breakpoints locations in response to setBreakpoint and listBreakpoints...
podivilov@chromium.org [Mon, 28 Jun 2010 12:09:29 +0000 (12:09 +0000)]
Provide actual breakpoints locations in response to setBreakpoint and listBreakpoints requests.

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

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

14 years agoDo integer mod via sum-of-digits technique. This benefits the date
erik.corry@gmail.com [Mon, 28 Jun 2010 11:47:23 +0000 (11:47 +0000)]
Do integer mod via sum-of-digits technique.  This benefits the date
code.
Review URL: http://codereview.chromium.org/2876011

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

14 years agoPrepare push to trunk. We are now working on version 2.2.21.
fschneider@chromium.org [Mon, 28 Jun 2010 11:17:55 +0000 (11:17 +0000)]
Prepare push to trunk. We are now working on version 2.2.21.

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

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

14 years agoRemove not-both-smis optimization on FloatingPointHelper::LoadNumbersAsIntegers on...
whesse@chromium.org [Mon, 28 Jun 2010 10:54:07 +0000 (10:54 +0000)]
Remove not-both-smis optimization on FloatingPointHelper::LoadNumbersAsIntegers on X64 platform.
Review URL: http://codereview.chromium.org/2861031

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

14 years agoFix 15.2.3.4 es5conform test
yurys@chromium.org [Mon, 28 Jun 2010 09:25:09 +0000 (09:25 +0000)]
Fix 15.2.3.4 es5conform test

TBR=mnaganov,sgjesse
Review URL: http://codereview.chromium.org/2832029

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

14 years agoObject.getOwnPropertyNames should be free of duplicates
yurys@chromium.org [Mon, 28 Jun 2010 08:31:31 +0000 (08:31 +0000)]
Object.getOwnPropertyNames should be free of duplicates

BUG=41243
Review URL: http://codereview.chromium.org/2825026

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

14 years agoAvoid a potential null dereference wrt the CPU profiler.
lukezarko [Fri, 25 Jun 2010 15:57:30 +0000 (15:57 +0000)]
Avoid a potential null dereference wrt the CPU profiler.

GetActiveProfilerModules()/PauseProfiler()/ResumeProfiler() can be reached
from the API when the --prof runtime flag is not set, leading to null
dereferences. Verify that Logger::profiler_ is non-NULL before using it.

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

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

14 years agoFix bug in CheckBothPositiveSmi macro.
lrn@chromium.org [Fri, 25 Jun 2010 12:31:49 +0000 (12:31 +0000)]
Fix bug in CheckBothPositiveSmi macro.
Fix lint.

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

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

14 years agoAdd special case of taking a substring that is the entire string to stub.
lrn@chromium.org [Fri, 25 Jun 2010 11:24:41 +0000 (11:24 +0000)]
Add special case of taking a substring that is the entire string to stub.

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

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

14 years agoFixes bug in Array.prototype.lastIndexOf when called with null or undefined as fromIn...
ricow@chromium.org [Fri, 25 Jun 2010 09:28:38 +0000 (09:28 +0000)]
Fixes bug in Array.prototype.lastIndexOf when called with null or undefined as fromIndex argument. (fixes issue 754).

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

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

14 years agoDon't make any decisions on old space limits after scavenges.
vegorov@chromium.org [Fri, 25 Jun 2010 08:59:52 +0000 (08:59 +0000)]
Don't make any decisions on old space limits after scavenges.

We just do not possess enough information at that point.

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

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

14 years agoLess intrusive patch for regexp bug.
lrn@chromium.org [Fri, 25 Jun 2010 07:51:46 +0000 (07:51 +0000)]
Less intrusive patch for regexp bug.

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

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

14 years agoFix bug in JSON.stringify where Boolean objects are incorrectly
ager@chromium.org [Fri, 25 Jun 2010 07:45:52 +0000 (07:45 +0000)]
Fix bug in JSON.stringify where Boolean objects are incorrectly
unwrapped.

This fixes issue 752.
Review URL: http://codereview.chromium.org/2845023

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

14 years agoFix bug in regexp exec with global regexps.
lrn@chromium.org [Fri, 25 Jun 2010 07:00:29 +0000 (07:00 +0000)]
Fix bug in regexp exec with global regexps.

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

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

14 years agoPort optimization of comparison with a trivial LHS from ia32 to x64.
whesse@chromium.org [Thu, 24 Jun 2010 14:22:25 +0000 (14:22 +0000)]
Port optimization of comparison with a trivial LHS from ia32 to x64.
Review URL: http://codereview.chromium.org/2868028

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

14 years agoFix error in for-in on x64 platform using full compiler with keyed store IC.
whesse@chromium.org [Thu, 24 Jun 2010 14:02:36 +0000 (14:02 +0000)]
Fix error in for-in on x64 platform using full compiler with keyed store IC.

BUG=v8:748

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

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

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

14 years agoAdd "has fast elements" bit to maps and use it in inlined keyed loads.
vitalyr@chromium.org [Thu, 24 Jun 2010 13:56:35 +0000 (13:56 +0000)]
Add "has fast elements" bit to maps and use it in inlined keyed loads.

A potential issue with this change is creating lots of maps when
objects flip between fast/slow elements modes.  We could add special
transitions to avoid this.  Yet testing this on our benchmarks, gmail,
and wave seems to indicate that this is not a real problem.

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

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

14 years agoFixing the regression introduced in r4716.
kaznacheev@chromium.org [Thu, 24 Jun 2010 12:31:49 +0000 (12:31 +0000)]
Fixing the regression introduced in r4716.

The regression made 2 tests fail on ia32 with --always-full-compiler.

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

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

14 years agoFix compilation failure on Win.
vegorov@chromium.org [Thu, 24 Jun 2010 12:11:24 +0000 (12:11 +0000)]
Fix compilation failure on Win.

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

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

14 years agoTake survival rates of young objects into account when choosing old generation limits.
vegorov@chromium.org [Thu, 24 Jun 2010 11:44:23 +0000 (11:44 +0000)]
Take survival rates of young objects into account when choosing old generation limits.

Stable high survival rates of young objects both during partial and
full collection indicate that mutator is either building or modifying
a structure with a long lifetime.

In this case we aggressively raise old generation memory limits to
postpone subsequent mark-sweep collection and trade memory space
for the mutation speed.

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

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

14 years agoChange kMinComplexMemCopy to 64 for IA32. It's just better.
sandholm@chromium.org [Thu, 24 Jun 2010 11:21:58 +0000 (11:21 +0000)]
Change kMinComplexMemCopy to 64 for IA32. It's just better.
Review URL: http://codereview.chromium.org/2818028

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

14 years agoARM: Remove spilled scopes.
erik.corry@gmail.com [Thu, 24 Jun 2010 11:05:38 +0000 (11:05 +0000)]
ARM: Remove spilled scopes.
Review URL: http://codereview.chromium.org/2848023

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

14 years agofixed
mikhail.naganov@gmail.com [Thu, 24 Jun 2010 10:05:57 +0000 (10:05 +0000)]
fixed

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

14 years agoX64: Remove more fpu code. Unroll more local initialization loops.
lrn@chromium.org [Thu, 24 Jun 2010 09:03:49 +0000 (09:03 +0000)]
X64: Remove more fpu code. Unroll more local initialization loops.

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

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

14 years agoMake SampleRateCalculator test resilient to float precision issues.
mikhail.naganov@gmail.com [Thu, 24 Jun 2010 08:57:24 +0000 (08:57 +0000)]
Make SampleRateCalculator test resilient to float precision issues.

Tested with kSamplingIntervalMs values 2 and 4.

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

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

14 years agoARM: Remove a bunch of spilled scopes. Still a lot to go.
erik.corry@gmail.com [Thu, 24 Jun 2010 07:54:48 +0000 (07:54 +0000)]
ARM: Remove a bunch of spilled scopes.  Still a lot to go.
Review URL: http://codereview.chromium.org/2828004

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

14 years agoX64: Change some fpu operations to use XMM registers.
lrn@chromium.org [Wed, 23 Jun 2010 14:05:18 +0000 (14:05 +0000)]
X64: Change some fpu operations to use XMM registers.

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

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

14 years agoARM: Fix bug introduced in 4783 (2.2.15) that caused the
erik.corry@gmail.com [Wed, 23 Jun 2010 13:44:11 +0000 (13:44 +0000)]
ARM: Fix bug introduced in 4783 (2.2.15) that caused the
result of 1 << x to be miscalculated for some inputs.
Review URL: http://codereview.chromium.org/2848021

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

14 years agoX64: A bunch of small fixes.
lrn@chromium.org [Wed, 23 Jun 2010 11:48:30 +0000 (11:48 +0000)]
X64: A bunch of small fixes.
Make push/pop use emit_optional_rex32.
Fix bug in disassembler (swapped name of comisd/ucomisd).
Use fstp in FCmp macro.

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

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

14 years agoUse SSE2 registers when comparing identical heap numbers on X64.
whesse@chromium.org [Wed, 23 Jun 2010 09:21:32 +0000 (09:21 +0000)]
Use SSE2 registers when comparing identical heap numbers on X64.
Review URL: http://codereview.chromium.org/2850018

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

14 years agoRemove redundant checks in and around GenerateDictionaryLoad.
kaznacheev@chromium.org [Wed, 23 Jun 2010 09:10:21 +0000 (09:10 +0000)]
Remove redundant checks in and around GenerateDictionaryLoad.

Similar or duplicate checks are scattered around the code before doing the dictionary load.
Also the entire branch in GenerateCallNormal that handles global/builtin receiver is
guaranteed to bail out from GenerateDictionaryLoad, so there is no point in generating it at all.

The purpose of the patch is:
- making C++ code more compact and transparent,
- not generating dead code.

There is a tiny performance gain. The patch is ia32 only for now.

Please tell me if I am missing anything.

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

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

14 years agoPrepare push to trunk. Now working on version 2.2.20.
ricow@chromium.org [Wed, 23 Jun 2010 08:51:53 +0000 (08:51 +0000)]
Prepare push to trunk. Now working on version 2.2.20.
Review URL: http://codereview.chromium.org/2815025

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

14 years agoAdd regression test for the code flushing in issue 474 (which was
ricow@chromium.org [Wed, 23 Jun 2010 08:02:06 +0000 (08:02 +0000)]
Add regression test for the code flushing in issue 474 (which was
fixed in revision 4921).

This also enables codeflushing by default.

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

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

14 years agoOnly flush code when there are no heap allocated locals in the scopeinfo.
ricow@chromium.org [Wed, 23 Jun 2010 07:16:09 +0000 (07:16 +0000)]
Only flush code when there are no heap allocated locals in the scopeinfo.

When flushing code we can potentially flush code with a scopeinfo that
we later need to resolve variables. This makes an explicit check that
there are heap allocated locals in the scopeinfo.

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

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

14 years agoLower waste from alignment of deferred code blocks.
lrn@chromium.org [Wed, 23 Jun 2010 07:03:34 +0000 (07:03 +0000)]
Lower waste from alignment of deferred code blocks.
Some ARM chips load instructions 8 byte at a time.

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

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

14 years agoMake the apply.js unit test more resilient to differing stack positions.
lukezarko [Tue, 22 Jun 2010 22:20:58 +0000 (22:20 +0000)]
Make the apply.js unit test more resilient to differing stack positions.

More information is at http://code.google.com/p/v8/issues/detail?id=742

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

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

14 years agoHeap profiler: perform a GC round before taking a snapshot
mikhail.naganov@gmail.com [Tue, 22 Jun 2010 14:58:08 +0000 (14:58 +0000)]
Heap profiler: perform a GC round before taking a snapshot
to get rid of global object loaded from a snapshot. This
eliminates the "double global object" issue. Thanks to Mads
for suggesting this!

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

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

14 years agoMade scanner follow coding style.
lrn@chromium.org [Tue, 22 Jun 2010 12:31:24 +0000 (12:31 +0000)]
Made scanner follow coding style.

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

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

14 years agoAugment trace-ic to provide information on patching inlined loads.
erik.corry@gmail.com [Tue, 22 Jun 2010 12:12:32 +0000 (12:12 +0000)]
Augment trace-ic to provide information on patching inlined loads.
Review URL: http://codereview.chromium.org/2818023

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

14 years agoX64: Change strategy for spilling to match ia32. It's just better.
lrn@chromium.org [Tue, 22 Jun 2010 10:07:57 +0000 (10:07 +0000)]
X64: Change strategy for spilling to match ia32. It's just better.
Align deferred code blocks to 16-byte address boundaries.

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

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

14 years agoAdd movw and movt support for ARMv7. This includes some code from
erik.corry@gmail.com [Tue, 22 Jun 2010 08:38:32 +0000 (08:38 +0000)]
Add movw and movt support for ARMv7.  This includes some code from
Zhang Kun.  For now we only emit movw and movt in places where no
relocation is needed.  Small performance boost (around 0.5%).
Also adds support for turning ALU operations (eor etc.) with
large immediates into mvn or movw followed by a register-based
ALU operation.
Review URL: http://codereview.chromium.org/2821014

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

14 years agoUse this->Foo() in some places due to two-phase lookup.
evan@chromium.org [Mon, 21 Jun 2010 20:52:43 +0000 (20:52 +0000)]
Use this->Foo() in some places due to two-phase lookup.

This is required by more strict compilers (Clang).
Review URL: http://codereview.chromium.org/2037004

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

14 years agoX64: Fix bug in LoadSSE2NumberOperands. It can be called with two smis!
lrn@chromium.org [Mon, 21 Jun 2010 12:39:37 +0000 (12:39 +0000)]
X64: Fix bug in LoadSSE2NumberOperands. It can be called with two smis!
Remove some unused labels.

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

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

14 years agoX64: Reapply fix for allocating HeapNumber results for >>>.
lrn@chromium.org [Mon, 21 Jun 2010 11:21:36 +0000 (11:21 +0000)]
X64: Reapply fix for allocating HeapNumber results for >>>.
Also skip case where both number arguments are smis.

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

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

14 years agoARM: Update the generation of the name for GenericBinaryOpStub
sgjesse@chromium.org [Mon, 21 Jun 2010 10:34:25 +0000 (10:34 +0000)]
ARM: Update the generation of the name for GenericBinaryOpStub
Review URL: http://codereview.chromium.org/2840011

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

14 years agoAvoid redundant smi check in x64 loading of floats into SSE2 registers.
whesse@chromium.org [Mon, 21 Jun 2010 09:04:44 +0000 (09:04 +0000)]
Avoid redundant smi check in x64 loading of floats into SSE2 registers.
Review URL: http://codereview.chromium.org/2862004

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

14 years agoX64: Load HeapNumberMap once in BinaryOpStub, and reuse it.
lrn@chromium.org [Mon, 21 Jun 2010 08:51:44 +0000 (08:51 +0000)]
X64: Load HeapNumberMap once in BinaryOpStub, and reuse it.

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

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

14 years agoX64: Make more computations happen on 32-bit values instead of on smis.
lrn@chromium.org [Fri, 18 Jun 2010 12:55:04 +0000 (12:55 +0000)]
X64: Make more computations happen on 32-bit values instead of on smis.

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

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

14 years agoAPI: Resolve linker issues with using V8 as a DLL
sgjesse@chromium.org [Fri, 18 Jun 2010 10:52:59 +0000 (10:52 +0000)]
API: Resolve linker issues with using V8 as a DLL

This changes the way the constants kJSObjectType, kFirstNonstringType and kProxyType are made available to the inlined part of the V8 API. This change to fixed constants resolves linker this linker error Windows

error LNK2001: unresolved external symbol "public: static int v8::internal::Internals::kJSObjectType" (?kJSObjectType@Internals@internal@v8@@2HA)

when linking against a V8 DLL.

This change also makes it possible to build all the C++ tests with ENABLE_DEBUGGER_SUPPORT not defined. Now C++ tests run ENABLE_DEBUGGER_SUPPORT not defined, and only the JavaScript tests which tests the debugger fails when ENABLE_DEBUGGER_SUPPORT is not defined.
Review URL: http://codereview.chromium.org/2820016

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

14 years agoARM: Load the heap number map into a register and keep it
erik.corry@gmail.com [Thu, 17 Jun 2010 21:51:51 +0000 (21:51 +0000)]
ARM: Load the heap number map into a register and keep it
there throughout the binary op stub (used for checking and
creating heap numbers).
Review URL: http://codereview.chromium.org/2843010

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

14 years agoPush AccessorInfo data directly if they reside in old space.
antonm@chromium.org [Thu, 17 Jun 2010 17:13:40 +0000 (17:13 +0000)]
Push AccessorInfo data directly if they reside in old space.

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

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

14 years agoTrack ascii-ness of data in externalized strings.
vitalyr@chromium.org [Thu, 17 Jun 2010 16:19:28 +0000 (16:19 +0000)]
Track ascii-ness of data in externalized strings.

If a two-byte string only contains ascii characters, then we can save
memory when flattening a cons string containing it. Similarly we can
use this in Array.prototype.join implementation. To track this a new
bit is added to instance type. This bit is used as a hint in generated
code and in runtime functions.

To enable testing a new V8 extension is added controlled by
--expose-externalize-string flag.

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

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

14 years agoX64: Change some smi operations to work on untagged integers instead.
lrn@chromium.org [Thu, 17 Jun 2010 15:48:43 +0000 (15:48 +0000)]
X64: Change some smi operations to work on untagged integers instead.
Use direct reading and writing of integers from Smi fields.
Change RecordWrite with 0 offset to take untagged index instead of
smi tagged index.

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

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

14 years agoHeap profiler: add a missing link between a function closure and shared function...
mikhail.naganov@gmail.com [Thu, 17 Jun 2010 12:56:55 +0000 (12:56 +0000)]
Heap profiler: add a missing link between a function closure and shared function info.

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

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

14 years agoFix a bug when top level break points fall into the last function in script.
podivilov@chromium.org [Thu, 17 Jun 2010 12:47:08 +0000 (12:47 +0000)]
Fix a bug when top level break points fall into the last function in script.

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

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

14 years agoARM: Minor refactoring of RecordWrite, does not require the offset to
erik.corry@gmail.com [Thu, 17 Jun 2010 10:45:37 +0000 (10:45 +0000)]
ARM: Minor refactoring of RecordWrite, does not require the offset to
be in a register anymore. Code also updated to use the bitfield
instructions when available.  This is a commit of
http://codereview.chromium.org/2845003/show for Rodolph Perfetta.

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

14 years agoMove definition of NegateConditon from assembler*-inl.h files to
ager@chromium.org [Thu, 17 Jun 2010 08:41:48 +0000 (08:41 +0000)]
Move definition of NegateConditon from assembler*-inl.h files to
assembler*.h files to make clang happy. There was no reason for having
the definition in the -inl.h files in the first place.

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

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

14 years agoARM: Special case for modulus of two smis in the generic binary opration stub
sgjesse@chromium.org [Wed, 16 Jun 2010 20:03:32 +0000 (20:03 +0000)]
ARM: Special case for modulus of two smis in the generic binary opration stub

When lhs and rhs are positive smis and rhs is a power of two perform modulus by masking.
Review URL: http://codereview.chromium.org/2873001

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

14 years agoFix issue 738: make compilable with profilingsupport=off
mikhail.naganov@gmail.com [Wed, 16 Jun 2010 19:53:24 +0000 (19:53 +0000)]
Fix issue 738: make compilable with profilingsupport=off

BUG=738
TBR=sgjesse@chromium.org

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

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

14 years agoSave actual break point location to script break point object.
podivilov@chromium.org [Wed, 16 Jun 2010 14:50:07 +0000 (14:50 +0000)]
Save actual break point location to script break point object.
Review URL: http://codereview.chromium.org/2864003

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

14 years agoRemove the comisd instruction from the ia32 and x64 assemblers. We
ager@chromium.org [Wed, 16 Jun 2010 12:32:34 +0000 (12:32 +0000)]
Remove the comisd instruction from the ia32 and x64 assemblers. We
should always use ucomisd.

Add missing pop from floating-point stack in case of allocation failure.
Review URL: http://codereview.chromium.org/2831009

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

14 years agoX64: Change overflow checks to only jump on overflow.
lrn@chromium.org [Wed, 16 Jun 2010 12:11:22 +0000 (12:11 +0000)]
X64: Change overflow checks to only jump on overflow.
Costs an extra move because the result is calculated in a scratch register
and only moved to destination on non-overflow in order to preserve source
registers in case of overflow.

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

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

14 years agoPrepare push to trunk. We are now working on version 2.2.19.
whesse@chromium.org [Wed, 16 Jun 2010 10:36:47 +0000 (10:36 +0000)]
Prepare push to trunk. We are now working on version 2.2.19.
Review URL: http://codereview.chromium.org/2806009

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

14 years agoPort KeyedCallIC implementation to x64 and ARM.
kaznacheev@chromium.org [Wed, 16 Jun 2010 10:03:47 +0000 (10:03 +0000)]
Port KeyedCallIC implementation to x64 and ARM.

Also edited ic-ia32.cc for clarity and better formatting.

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

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

14 years agoChange hash computation for transcendental cache to use arithmetic
ager@chromium.org [Wed, 16 Jun 2010 08:29:25 +0000 (08:29 +0000)]
Change hash computation for transcendental cache to use arithmetic
shifts. Leads to fewer collisions.

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

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

14 years agoRemove old named property query API.
antonm@chromium.org [Tue, 15 Jun 2010 17:01:02 +0000 (17:01 +0000)]
Remove old named property query API.

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

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

14 years agoFix HeapSnapshot test in the case when snapshotting is enabled.
mikhail.naganov@gmail.com [Tue, 15 Jun 2010 12:28:25 +0000 (12:28 +0000)]
Fix HeapSnapshot test in the case when snapshotting is enabled.

TBR=sgjesse@chromium.org

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

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

14 years agoHeap profiler: publish API and add test.
mikhail.naganov@gmail.com [Tue, 15 Jun 2010 11:44:07 +0000 (11:44 +0000)]
Heap profiler: publish API and add test.

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

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