platform/upstream/v8.git
14 years agoDouble max-new-space-size to 2^18 in binary-op-newspace to make the test run on linux...
ricow@chromium.org [Mon, 26 Apr 2010 13:25:17 +0000 (13:25 +0000)]
Double max-new-space-size to 2^18 in binary-op-newspace to make the test run on linux 64 with snapshots on.
Review URL: http://codereview.chromium.org/1735014

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

14 years agoPrepare push to trunk. Now working on version 2.2.6.
fschneider@chromium.org [Mon, 26 Apr 2010 13:17:55 +0000 (13:17 +0000)]
Prepare push to trunk. Now working on version 2.2.6.

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

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

14 years agoChange max-new-space-size to 2^17 (from 2^16) to make binary-op-newspace test run...
ricow@chromium.org [Mon, 26 Apr 2010 12:58:20 +0000 (12:58 +0000)]
Change max-new-space-size to 2^17 (from 2^16) to make binary-op-newspace test run on linux 64.
Review URL: http://codereview.chromium.org/1780003

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

14 years agoChange to allow d8 to compile on MacOSX.
erik.corry@gmail.com [Mon, 26 Apr 2010 11:41:56 +0000 (11:41 +0000)]
Change to allow d8 to compile on MacOSX.
Review URL: http://codereview.chromium.org/1747014

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

14 years agoCosmetic changes to the ARM port.
erik.corry@gmail.com [Mon, 26 Apr 2010 11:41:39 +0000 (11:41 +0000)]
Cosmetic changes to the ARM port.
Review URL: http://codereview.chromium.org/1790002

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

14 years agoFix a bug where a GC at an unlucky moment caused a wrong
erik.corry@gmail.com [Mon, 26 Apr 2010 11:06:37 +0000 (11:06 +0000)]
Fix a bug where a GC at an unlucky moment caused a wrong
calculation on ARM.
Review URL: http://codereview.chromium.org/1733016

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

14 years agoAdd a V8 specific target architecture to the GYP file
sgjesse@chromium.org [Mon, 26 Apr 2010 10:59:14 +0000 (10:59 +0000)]
Add a V8 specific target architecture to the GYP file

The V8 GYP file now uses its own target architecture. It default to the standard target_arch, but can be set to a separate value. E.g. using

  export GYP_DEFINES="target_arch=ia32 v8_target_arch=arm"

makes it possible to have the V8 ARM simulator be used in a IA32 build.

Added some checking of supported host/target architecture combinations.
Review URL: http://codereview.chromium.org/1790001

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

14 years agoFix bug in the ARM full code generator for inlined count operations.
fschneider@chromium.org [Mon, 26 Apr 2010 10:31:51 +0000 (10:31 +0000)]
Fix bug in the ARM full code generator for inlined count operations.

The inlined add needs to set the condition codes to correctly detect
smi overflows.

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

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

14 years agoDon't share function result caches between contexts.
vitalyr@chromium.org [Sun, 25 Apr 2010 10:31:52 +0000 (10:31 +0000)]
Don't share function result caches between contexts.

A reference to the caches array was embedded directly into the builtin
code and this allowed sharing objects between contexts.

Unfortunately, clearing the cache on GC won't prevent sharing so we
either have to have per-context builtin code or load the cache
indirectly from the current context. This change implements the second
approach. The first approach may be interesting to consider in the
future for some perfomance critical functions, and the current
approach can still be improved by putting the caches directly into the
global context (or even global objects).

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

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

14 years agoFix bug in KeyedLoadIC generic stub where signed instead of unsigned
ager@chromium.org [Fri, 23 Apr 2010 12:57:41 +0000 (12:57 +0000)]
Fix bug in KeyedLoadIC generic stub where signed instead of unsigned
comparison was used.

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

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

14 years ago- Fix Win64 build.
vegorov@chromium.org [Fri, 23 Apr 2010 12:45:05 +0000 (12:45 +0000)]
- Fix Win64 build.
- Style cleanup: use Page::is_valid() instead of NULL-check, use Heap::CreateFillerObjectAt() instead of dummy free list nodes
Review URL: http://codereview.chromium.org/1691009

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

14 years agoFix BinaryOpIC implementation on ARM.
kaznacheev@chromium.org [Fri, 23 Apr 2010 10:08:24 +0000 (10:08 +0000)]
Fix BinaryOpIC implementation on ARM.

On a pair of smis HEAP_NUMBERS stub is significantly slower than GENERIC. This slows
down some tests dramatically (crypto-aes from SunSpider).
With this change HEAP_NUMBERS stub switches to GENERIC stub the first time it sees 2 smis
as its operands.

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

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

14 years agoFix typo - remove stray character from change 4481
whesse@chromium.org [Fri, 23 Apr 2010 08:14:11 +0000 (08:14 +0000)]
Fix typo - remove stray character from change 4481
Review URL: http://codereview.chromium.org/1753008

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

14 years agoCompute static type information for remaining expression types on x64 platform.
whesse@chromium.org [Fri, 23 Apr 2010 08:05:13 +0000 (08:05 +0000)]
Compute static type information for remaining expression types on x64 platform.
Review URL: http://codereview.chromium.org/1751008

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

14 years agoChanged inlined property load detection on ARM
sgjesse@chromium.org [Fri, 23 Apr 2010 07:42:45 +0000 (07:42 +0000)]
Changed inlined property load detection on ARM

Instaed of having a nop after all non-inlined calls to load IC use a different nop (mov r1, r1 instead of mov r0, r0) to detect an inlined load IC.

Added more infrastructure to the deferred code handling to make it possbile to block constant pool emitting in a deferred code block, including the branch instruction ending the deferred code block.

Addressed a couple of comments to http://codereview.chromium.org/1715003, including adding an assert to make sure that the patching of an ldr instruction is always possible.
Review URL: http://codereview.chromium.org/1758003

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

14 years agoUse Heap::CreateFillerArrayAt to create a filler instead of copied code.
antonm@chromium.org [Thu, 22 Apr 2010 18:50:27 +0000 (18:50 +0000)]
Use Heap::CreateFillerArrayAt to create a filler instead of copied code.

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

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

14 years agoUpdate AUTHORS file to reflect previous commit
erik.corry@gmail.com [Thu, 22 Apr 2010 17:28:43 +0000 (17:28 +0000)]
Update AUTHORS file to reflect previous commit

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

14 years agoSpeed up random on ARM. Patch committed for rodolph.perfetta@googlemail.com. See...
erik.corry@gmail.com [Thu, 22 Apr 2010 17:25:42 +0000 (17:25 +0000)]
Speed up random on ARM.  Patch committed for rodolph.perfetta@googlemail.com.  See codereview.chromium.org/1689007

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

14 years agoFix bugs introduced by r4475:
vegorov@chromium.org [Thu, 22 Apr 2010 16:43:38 +0000 (16:43 +0000)]
Fix bugs introduced by r4475:
- RelinkPageListInChunkOrder might relink unused pages into the middle of a sequence of used pages. Filler objects should be placed at the beginning of such unused pages otherwise generic iterators (e.g. HeapObjectIterator) would not handle them correctly.
- ObjectAreaEnd() should not be used as an allocation limit for pages from FixedSpace. Pages in such spaces do not use top page_extra_ bytes of object area.

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

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

14 years agoPut empty pages discovered during sweeping to the end of the list of pages
vegorov@chromium.org [Thu, 22 Apr 2010 14:42:21 +0000 (14:42 +0000)]
Put empty pages discovered during sweeping to the end of the list of pages
instead of adding them to the free list.
Review URL: http://codereview.chromium.org/1683001

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

14 years agoAdd checks to the ARM simulator to ensure that we flush the icache all
erik.corry@gmail.com [Thu, 22 Apr 2010 12:41:10 +0000 (12:41 +0000)]
Add checks to the ARM simulator to ensure that we flush the icache all
the places we should.
Review URL: http://codereview.chromium.org/1523030

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

14 years agoPort apply with arguments optimization to ARM. This avoid allocating
ager@chromium.org [Thu, 22 Apr 2010 12:20:36 +0000 (12:20 +0000)]
Port apply with arguments optimization to ARM. This avoid allocating
the arguments object when not necessary.
Review URL: http://codereview.chromium.org/1738003

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

14 years agoFix error in static type information computation for bitwise shift.
whesse@chromium.org [Thu, 22 Apr 2010 09:02:10 +0000 (09:02 +0000)]
Fix error in static type information computation for bitwise shift.
Review URL: http://codereview.chromium.org/1756007

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

14 years agoMinor formatting changes.
sgjesse@chromium.org [Thu, 22 Apr 2010 07:35:43 +0000 (07:35 +0000)]
Minor formatting changes.
Review URL: http://codereview.chromium.org/1766005

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

14 years agoFix ARM debug build breakage caused by r4468
sgjesse@chromium.org [Thu, 22 Apr 2010 07:26:07 +0000 (07:26 +0000)]
Fix ARM debug build breakage caused by r4468

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

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

14 years agoAdd inlining of property load on ARM
sgjesse@chromium.org [Thu, 22 Apr 2010 07:18:30 +0000 (07:18 +0000)]
Add inlining of property load on ARM

Generate inlined named property load for in-object properties. This uses the same mechanism as on the Intel platforms with the map check and load instruction of the inlined code being patched by the inline cache code. The map check is patched through the normal constant pool patching and the load instruction is patched in place.
Review URL: http://codereview.chromium.org/1715003

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

14 years agoSupport multi-chunk differences
peter.rybin@gmail.com [Wed, 21 Apr 2010 16:59:58 +0000 (16:59 +0000)]
Support multi-chunk differences

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

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

14 years agoFix issue 683: change the order of CPU profiler setup actions.
mikhail.naganov@gmail.com [Wed, 21 Apr 2010 14:07:13 +0000 (14:07 +0000)]
Fix issue 683: change the order of CPU profiler setup actions.

BUG=683

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

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

14 years agoPort inlined quick equality check for non-NaN to x64.
whesse@chromium.org [Wed, 21 Apr 2010 13:33:36 +0000 (13:33 +0000)]
Port inlined quick equality check for non-NaN to x64.
Review URL: http://codereview.chromium.org/1756002

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

14 years ago- Fix unitialized variable error found by compiler warning.
iposva@chromium.org [Wed, 21 Apr 2010 12:16:36 +0000 (12:16 +0000)]
- Fix unitialized variable error found by compiler warning.

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

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

14 years agoFix one off error.
antonm@chromium.org [Wed, 21 Apr 2010 11:13:53 +0000 (11:13 +0000)]
Fix one off error.

Proper condition to start eviction is when next possible index is equal
to cache length.

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

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

14 years agoFix lint errors
sgjesse@chromium.org [Wed, 21 Apr 2010 10:20:55 +0000 (10:20 +0000)]
Fix lint errors

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/1749002

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

14 years agoUpdate comment to provide the correct usage of the Disassembler class.
sgjesse@chromium.org [Wed, 21 Apr 2010 09:45:06 +0000 (09:45 +0000)]
Update comment to provide the correct usage of the Disassembler class.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/1755001

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

14 years agoUse an object to control the blocking of the constant pool
sgjesse@chromium.org [Wed, 21 Apr 2010 09:43:45 +0000 (09:43 +0000)]
Use an object to control the blocking of the constant pool

Instead of indicating for how many instructions the constant pool needs to be blocked the constant pool is now blocked while at least one instance of ScopedConstPoolBlocker exists.
Review URL: http://codereview.chromium.org/1673006

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

14 years agoFix incorrect handling of global RegExp properties for nested replace-regexp-with...
lrn@chromium.org [Wed, 21 Apr 2010 08:33:04 +0000 (08:33 +0000)]
Fix incorrect handling of global RegExp properties for nested replace-regexp-with-function.

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

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

14 years agoReturn the correct statement position.
sgjesse@chromium.org [Wed, 21 Apr 2010 07:32:04 +0000 (07:32 +0000)]
Return the correct statement position.

Whether this was a typo or a deliberate decision at some point I don't know. Anyway it was wrong.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/1752001

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

14 years agoPrepare push of version 2.2.4 to trunk.
ricow@chromium.org [Wed, 21 Apr 2010 07:10:20 +0000 (07:10 +0000)]
Prepare push of version 2.2.4 to trunk.
Review URL: http://codereview.chromium.org/1687004

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

14 years agoReapply: Inline fast cases in string keyed load IC.
vitalyr@chromium.org [Tue, 20 Apr 2010 17:33:14 +0000 (17:33 +0000)]
Reapply: Inline fast cases in string keyed load IC.

(Fixed handling of out-of-bounds keys.)

String keyed load used to call STRING_CHAR_AT builtin that performs
two steps (get a char code, construct a one-char string from the
code), both of which have fast cases implemented as inline runtime
functions. In this chage most of the code from these functions is
extracted to a set of common generator functions in StringStubBase and
the fast cases are grouped together in the IC code.

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

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

14 years agoAdd missing check to StringBuilderConcat runtime function.
lrn@chromium.org [Tue, 20 Apr 2010 13:10:18 +0000 (13:10 +0000)]
Add missing check to StringBuilderConcat runtime function.

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

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

14 years agoDo not preconvert to string as it apparently has minimal performance benefit.
antonm@chromium.org [Tue, 20 Apr 2010 11:29:32 +0000 (11:29 +0000)]
Do not preconvert to string as it apparently has minimal performance benefit.

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

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

14 years agoChange strlen to v8::internal::StrLength in liveedit tests (to fix compile error...
ricow@chromium.org [Tue, 20 Apr 2010 10:41:38 +0000 (10:41 +0000)]
Change strlen to v8::internal::StrLength in liveedit tests (to fix compile error on windows 64)
Review URL: http://codereview.chromium.org/1610038

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

14 years agoAdd missing smi check in IC for nonexistent properties.
ager@chromium.org [Tue, 20 Apr 2010 10:20:39 +0000 (10:20 +0000)]
Add missing smi check in IC for nonexistent properties.

Add regression test.

BUG=v8:681
Review URL: http://codereview.chromium.org/1673005

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

14 years agoRevert r4444 "Inline fast cases in string keyed load IC."
vitalyr@chromium.org [Tue, 20 Apr 2010 09:26:32 +0000 (09:26 +0000)]
Revert r4444 "Inline fast cases in string keyed load IC."

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

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

14 years agoInline fast cases in string keyed load IC.
vitalyr@chromium.org [Tue, 20 Apr 2010 08:27:48 +0000 (08:27 +0000)]
Inline fast cases in string keyed load IC.

String keyed load used to call STRING_CHAR_AT builtin that performs
two steps (get a char code, construct a one-char string from the
code), both of which have fast cases implemented as inline runtime
functions. In this chage most of the code from these functions is
extracted to a set of common generator functions in StringStubBase and
the fast cases are grouped together in the IC code.

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

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

14 years agoMake not sucking at regexp the default
erik.corry@gmail.com [Mon, 19 Apr 2010 19:30:11 +0000 (19:30 +0000)]
Make not sucking at regexp the default
(remove V8_NATIVE_REGEXP flag, add
V8_INTERPRETED_REGEXP flag).
Review URL: http://codereview.chromium.org/1635001

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

14 years agoFix arm simulator build on Max OS X. For some reason the GCC version
ager@chromium.org [Mon, 19 Apr 2010 16:34:19 +0000 (16:34 +0000)]
Fix arm simulator build on Max OS X. For some reason the GCC version
on Mac is more pedantic.

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

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

14 years agoLiveEdit: calculate a real script difference
peter.rybin@gmail.com [Mon, 19 Apr 2010 16:08:26 +0000 (16:08 +0000)]
LiveEdit: calculate a real script difference

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

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

14 years agoRemove some remaining references to boilerplate functions.
ager@chromium.org [Mon, 19 Apr 2010 12:39:07 +0000 (12:39 +0000)]
Remove some remaining references to boilerplate functions.
Review URL: http://codereview.chromium.org/1605037

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

14 years agoReally fix WebKit buildbot crashes on StopProfiling.
mikhail.naganov@gmail.com [Fri, 16 Apr 2010 13:57:14 +0000 (13:57 +0000)]
Really fix WebKit buildbot crashes on StopProfiling.

This time I hope I'm doing the right check.

TBR=ager@chromium.org

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

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

14 years agoFix arm simulator build - arm flags must be a list when compiling for arm when the...
ricow@chromium.org [Fri, 16 Apr 2010 12:20:02 +0000 (12:20 +0000)]
Fix arm simulator build - arm flags must be a list when compiling for arm when the ARM_TARGET_LIB is not set.
Review URL: http://codereview.chromium.org/1658006

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

14 years agoTweak D8 remote debugger
sgjesse@chromium.org [Fri, 16 Apr 2010 12:19:47 +0000 (12:19 +0000)]
Tweak D8 remote debugger

When D8 is used as remote debugger the command 'break' (shorthand 'b') can be used to break JavaScript execution.

Fixed the printing of the prompt 'dbg>' and printing of error messages.
Review URL: http://codereview.chromium.org/1566049

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

14 years agoChange SConstruct to allow for easy specification of target library for arm cross...
ricow@chromium.org [Fri, 16 Apr 2010 11:47:23 +0000 (11:47 +0000)]
Change SConstruct to allow for easy specification of target library for arm cross-compilation.

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

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

14 years agoMake StopProfiling resilient to calls in unusual moments.
mikhail.naganov@gmail.com [Fri, 16 Apr 2010 08:44:17 +0000 (08:44 +0000)]
Make StopProfiling resilient to calls in unusual moments.

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

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

14 years agoFix constant offset check for inlined write barrier to work in cases when offset...
vegorov@chromium.org [Thu, 15 Apr 2010 14:43:32 +0000 (14:43 +0000)]
Fix constant offset check for inlined write barrier to work in cases when offset is given from tagged object pointer.
Review URL: http://codereview.chromium.org/1646008

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

14 years agoOnly put VM state entry if a symbolized stacktrace is empty.
mikhail.naganov@gmail.com [Thu, 15 Apr 2010 14:12:17 +0000 (14:12 +0000)]
Only put VM state entry if a symbolized stacktrace is empty.

This makes more sense than putting "(program)" as the root of
every stack trace in broswer mode.

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

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

14 years agoAdd tracking of loop nesting to ARM code.
sgjesse@chromium.org [Thu, 15 Apr 2010 14:06:57 +0000 (14:06 +0000)]
Add tracking of loop nesting to ARM code.
Review URL: http://codereview.chromium.org/1645008

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

14 years agoAdd stack alignment check to ia32 and x64
sgjesse@chromium.org [Thu, 15 Apr 2010 12:41:30 +0000 (12:41 +0000)]
Add stack alignment check to ia32 and x64

The stack is now checked for proper alignment before calling into C code when the flag --debug-code is turned on.
Review URL: http://codereview.chromium.org/1637015

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

14 years agoReport approximated duration in milliseconds for profile nodes.
mikhail.naganov@gmail.com [Thu, 15 Apr 2010 11:37:29 +0000 (11:37 +0000)]
Report approximated duration in milliseconds for profile nodes.

The simple formula "ms = ticks * sampler_interval" doesn't work,
because e.g. on Linux, the actual sampling rate can be 5 times
lower than the one set up in the code. To calculate actual sampling
rate, current time is periodically queried and processed along with
actual sampling ticks count.

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

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

14 years agoReapply load ICs for nonexistent properties.
ager@chromium.org [Thu, 15 Apr 2010 11:25:41 +0000 (11:25 +0000)]
Reapply load ICs for nonexistent properties.

We need to be careful to check global property cells for the property
encountered during lookup.  Therefore, the ICs have to be specific to
the name of the property if global objects are involved.  In
principle, this means that we could get a large number of monomorphic
ICs for the same map if there is a global object in the prototype
chain.  However, since this is only done for normal load ICs and not
for keyed load ICs I do not expect this to be a problem.  I will
experiment with it once this goes in.

BUG=675
Review URL: http://codereview.chromium.org/1559033

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

14 years agoEnsure stack alignment in ARM port
sgjesse@chromium.org [Thu, 15 Apr 2010 09:34:47 +0000 (09:34 +0000)]
Ensure stack alignment in ARM port

In the CEntryStub keep track of the actual skew from the correct alignment to ensure proper alignment before calling the runtime. Add checks to test the expected skew when running on hardware.

Use the PrepareCallCFunction/CallCFunction in a few other places.

Add check to the ARM simulator for correct alignment.

Add option --sim-stack-alignment to set the stack alignment in the simulator. Currntly only values 4 and 8 makes sense. 8 is the default to make snapshots generated with the simulator work on hardware requiring 8 byte stack alignment.
Review URL: http://codereview.chromium.org/1530043

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

14 years agoAvoid warning on ARM reported by newer GCC versions
sgjesse@chromium.org [Thu, 15 Apr 2010 08:45:27 +0000 (08:45 +0000)]
Avoid warning on ARM reported by newer GCC versions
Review URL: http://codereview.chromium.org/1540038

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

14 years agoOne less dependent load in InvokeBuiltin.
vitalyr@chromium.org [Wed, 14 Apr 2010 20:16:19 +0000 (20:16 +0000)]
One less dependent load in InvokeBuiltin.

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

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

14 years agomerged
mikhail.naganov@gmail.com [Wed, 14 Apr 2010 18:48:05 +0000 (18:48 +0000)]
merged

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

14 years agoUpdate document to descirbe semantics of hints.
antonm@chromium.org [Wed, 14 Apr 2010 15:57:27 +0000 (15:57 +0000)]
Update document to descirbe semantics of hints.

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

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

14 years agoFormat
peter.rybin@gmail.com [Wed, 14 Apr 2010 15:01:14 +0000 (15:01 +0000)]
Format

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

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

14 years agoMake a namespace for LiveEdit
peter.rybin@gmail.com [Wed, 14 Apr 2010 14:53:00 +0000 (14:53 +0000)]
Make a namespace for LiveEdit

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

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

14 years agoIntroduce fast native caches and use it in String.search.
antonm@chromium.org [Wed, 14 Apr 2010 14:46:15 +0000 (14:46 +0000)]
Introduce fast native caches and use it in String.search.

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

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

14 years agoRevert change 4401.
whesse@chromium.org [Wed, 14 Apr 2010 11:45:03 +0000 (11:45 +0000)]
Revert change 4401.
Review URL: http://codereview.chromium.org/1589035

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

14 years agoChanging byte_size from size_t to int in heap-inl.h (making win64 build work)
ricow@chromium.org [Wed, 14 Apr 2010 11:30:34 +0000 (11:30 +0000)]
Changing byte_size from size_t to int in heap-inl.h (making win64 build work)
Review URL: http://codereview.chromium.org/1619017

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

14 years agoMove const declarations out of if in assembler-x64.cc (correcting linux64 bit compile...
ricow@chromium.org [Wed, 14 Apr 2010 10:38:03 +0000 (10:38 +0000)]
Move const declarations out of if in assembler-x64.cc (correcting linux64 bit compile error)
Review URL: http://codereview.chromium.org/1595028

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

14 years agoFix typos in new interrupt postponing code.
kasperl@chromium.org [Wed, 14 Apr 2010 10:11:29 +0000 (10:11 +0000)]
Fix typos in new interrupt postponing code.

TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/1574027

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

14 years agoPostpone interrupts while compiling regexp code. This avoids
kasperl@chromium.org [Wed, 14 Apr 2010 09:54:30 +0000 (09:54 +0000)]
Postpone interrupts while compiling regexp code. This avoids
getting artificial stack overflows due to interrupts while
compiling and visiting the AST nodes. Pending interrupts will
be processed once we're done compiling.

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

14 years agoPort direct call to native RegExp from JavaScript to ARM
sgjesse@chromium.org [Wed, 14 Apr 2010 09:25:33 +0000 (09:25 +0000)]
Port direct call to native RegExp from JavaScript to ARM

The ia32 version was implemented in r3542 and r3543. The x64 was implementeed in r3740, r3741 and r3742.

Minor tweaks to the is32 and x64 code as well.
Review URL: http://codereview.chromium.org/1575035

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

14 years agoCreate const ints for int8_t and int32_t in jmp assembler (making win64 build happy)
ricow@chromium.org [Wed, 14 Apr 2010 08:54:08 +0000 (08:54 +0000)]
Create const ints for int8_t and int32_t in jmp assembler (making win64 build happy)
Review URL: http://codereview.chromium.org/1637009

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

14 years agoPrepare push of version 2.2.3 to trunk.
whesse@chromium.org [Wed, 14 Apr 2010 08:41:35 +0000 (08:41 +0000)]
Prepare push of version 2.2.3 to trunk.
Review URL: http://codereview.chromium.org/1619016

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

14 years agoUpdate MSVS and Xcode projects to make V8 compilable.
mikhail.naganov@gmail.com [Wed, 14 Apr 2010 08:31:37 +0000 (08:31 +0000)]
Update MSVS and Xcode projects to make V8 compilable.

MSVS: define ENABLE_VM_STATE_TRACKING
Xcode: add missing files, sort project

BUG=673

TBR=sgjesse@chromium.org

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

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

14 years agoChange default Android scons build to suit more modern hardware.
erik.corry@gmail.com [Wed, 14 Apr 2010 07:49:30 +0000 (07:49 +0000)]
Change default Android scons build to suit more modern hardware.
Review URL: http://codereview.chromium.org/1640008

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

14 years agoAvoid messing with the stack overflow limits while interrupts
kasperl@chromium.org [Wed, 14 Apr 2010 07:36:49 +0000 (07:36 +0000)]
Avoid messing with the stack overflow limits while interrupts
are postponed. This way, V8 will wait until interrupts are
re-enabled before artifically lowering the stack limit thereby
forcing the interruption of the JavaScript executing thread.
Review URL: http://codereview.chromium.org/1638009

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

14 years agoReapplying changes from r4318
vegorov@chromium.org [Wed, 14 Apr 2010 07:26:20 +0000 (07:26 +0000)]
Reapplying changes from r4318

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

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

14 years agoAdd inline caches for loading non-existing properties.
ager@chromium.org [Wed, 14 Apr 2010 06:25:11 +0000 (06:25 +0000)]
Add inline caches for loading non-existing properties.
Review URL: http://codereview.chromium.org/1539034

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

14 years agoExpose a hint which communicates that string might be written many times.
antonm@chromium.org [Tue, 13 Apr 2010 17:00:33 +0000 (17:00 +0000)]
Expose a hint which communicates that string might be written many times.

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

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

14 years agoPort optimized comparison of a string to a constant single character string to X64...
whesse@chromium.org [Tue, 13 Apr 2010 13:42:45 +0000 (13:42 +0000)]
Port optimized comparison of a string to a constant single character string to X64 platform.  Fix small mistake on ia32 platform.
Review URL: http://codereview.chromium.org/1627014

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

14 years agoFix build problems on Windows 64-bit by casting.
lrn@chromium.org [Tue, 13 Apr 2010 11:59:37 +0000 (11:59 +0000)]
Fix build problems on Windows 64-bit by casting.
Gave the root register a name for reference.

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

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

14 years agoX64: Add smi-type to loop variable of simple smi for-loops.
lrn@chromium.org [Tue, 13 Apr 2010 11:34:14 +0000 (11:34 +0000)]
X64: Add smi-type to loop variable of simple smi for-loops.

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

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

14 years agoNative construction of RegExp result objects, with in-object index and input.
lrn@chromium.org [Tue, 13 Apr 2010 09:31:03 +0000 (09:31 +0000)]
Native construction of RegExp result objects, with in-object index and input.
Avoid cloning using CloneRegExpResult for results that are just arrays.
Made a more direct path for string.match with string argument.

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

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

14 years agoFix cross compilation of snapshot builds using scons.
erik.corry@gmail.com [Tue, 13 Apr 2010 09:01:30 +0000 (09:01 +0000)]
Fix cross compilation of snapshot builds using scons.
With this change we also activate snapshots for ARM
benchmarking builds.
Review URL: http://codereview.chromium.org/1627019

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

14 years agoAdd os.unsetenv to d8.
erik.corry@gmail.com [Tue, 13 Apr 2010 08:44:50 +0000 (08:44 +0000)]
Add os.unsetenv to d8.
Review URL: http://codereview.chromium.org/1602023

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

14 years agoReimplement InsertSort to use simple linear search.
antonm@chromium.org [Mon, 12 Apr 2010 15:12:30 +0000 (15:12 +0000)]
Reimplement InsertSort to use simple linear search.

And various minor cleanups.

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

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

14 years agoFaster comparison of identical objects.
antonm@chromium.org [Mon, 12 Apr 2010 15:05:55 +0000 (15:05 +0000)]
Faster comparison of identical objects.

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

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

14 years agoRemove redundant null oddball initialization.
ager@chromium.org [Mon, 12 Apr 2010 13:36:52 +0000 (13:36 +0000)]
Remove redundant null oddball initialization.

Remove unneeded map argument to CreateOddball.

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

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

14 years agoFix presubmit error in previous commit.
sgjesse@chromium.org [Mon, 12 Apr 2010 13:15:39 +0000 (13:15 +0000)]
Fix presubmit error in previous commit.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/1640005

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

14 years agoAdd commands stack and mem to ARM simulator debugger
sgjesse@chromium.org [Mon, 12 Apr 2010 12:24:14 +0000 (12:24 +0000)]
Add commands stack and mem to ARM simulator debugger

The command "stack" will dump the stack and "mem" will dump memory from a address given either as a register or as a literal. Both commands dump 10 words unless an additional argument with the number of words to dump is given.
  sim> stack
  sim> mem fp
  sim> mem 0xe612a450 100

Also parse address literals in simulator debugger command as unsigned.
Review URL: http://codereview.chromium.org/1596022

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

14 years agoPrepare push of version 2.2.2 to trunk.
ager@chromium.org [Mon, 12 Apr 2010 11:11:28 +0000 (11:11 +0000)]
Prepare push of version 2.2.2 to trunk.
Review URL: http://codereview.chromium.org/1607013

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

14 years agoOptimize the assembly code generated for Math.random()
whesse@chromium.org [Mon, 12 Apr 2010 10:07:50 +0000 (10:07 +0000)]
Optimize the assembly code generated for Math.random()
Review URL: http://codereview.chromium.org/1631008

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

14 years agoTry to fix WebKit bot: add 'circular-queue.h' and 'circular-queue-inl.h' to v8.gyp
mikhail.naganov@gmail.com [Mon, 12 Apr 2010 07:52:40 +0000 (07:52 +0000)]
Try to fix WebKit bot: add 'circular-queue.h' and 'circular-queue-inl.h' to v8.gyp

TBR=ricow@chromium.org

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

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

14 years agoAllow new CPU profiling subsystem to coexist nicely with the old one.
mikhail.naganov@gmail.com [Mon, 12 Apr 2010 07:23:43 +0000 (07:23 +0000)]
Allow new CPU profiling subsystem to coexist nicely with the old one.

This is to make possible enabling usage of the new profiling subsystem
in Chromium without much hassle. The idea is pretty simple: unless the
new profiling API is used, all works as usual, as soon as Chromium
starts to use the new API, it will work too.

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

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

14 years agoFaster invocation of custom comparator function.
antonm@chromium.org [Mon, 12 Apr 2010 07:05:24 +0000 (07:05 +0000)]
Faster invocation of custom comparator function.

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

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

14 years agoMake binary op stubs in both r0-r1 and r1-r0 versions to reduce
erik.corry@gmail.com [Fri, 9 Apr 2010 18:25:51 +0000 (18:25 +0000)]
Make binary op stubs in both r0-r1 and r1-r0 versions to reduce
register churn.
Review URL: http://codereview.chromium.org/1606019

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

14 years agoRestore r4358 which was reverted by 4366.
antonm@chromium.org [Fri, 9 Apr 2010 13:51:11 +0000 (13:51 +0000)]
Restore r4358 which was reverted by 4366.

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

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

14 years agoMark up debugger support in sample file
peter.rybin@gmail.com [Fri, 9 Apr 2010 13:02:25 +0000 (13:02 +0000)]
Mark up debugger support in sample file

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

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