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

14 years agoCall to C function support in macro assembler
sgjesse@chromium.org [Fri, 9 Apr 2010 11:25:52 +0000 (11:25 +0000)]
Call to C function support in macro assembler

Implement macro assembler operations PrepareCallCFunction and CallCFunction like on both Intel platforms. Used these for direct calls to C functions.
Review URL: http://codereview.chromium.org/1549031

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

14 years agoAdding Lasse's improvement to r4364
sandholm@chromium.org [Fri, 9 Apr 2010 09:21:46 +0000 (09:21 +0000)]
Adding Lasse's improvement to r4364
http://codereview.chromium.org/1556019
http://code.google.com/p/v8/source/detail?r=4364

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

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

14 years agoReverting r4318 (merge of scavenge into sweeping pass of MSC garbage collector)
vegorov@chromium.org [Fri, 9 Apr 2010 08:16:25 +0000 (08:16 +0000)]
Reverting r4318 (merge of scavenge into sweeping pass of MSC garbage collector)

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

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

14 years agoFix the gyp file to include the ENABLE_VMSTATE_TRACKING
ricow@chromium.org [Fri, 9 Apr 2010 07:29:58 +0000 (07:29 +0000)]
Fix the gyp file to include the ENABLE_VMSTATE_TRACKING

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

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

14 years agoSimple register allocation for ARM. Only top of expression
erik.corry@gmail.com [Thu, 8 Apr 2010 22:30:30 +0000 (22:30 +0000)]
Simple register allocation for ARM.  Only top of expression
stack for now.  Next step is probably fixing the binary
op stubs so they can take swapped registers and fixing
the deferred code so it doesn't insist that all registers
except the two operands are flushed.  Generates slightly
worse code sometimes because the peephole push-pop
elimination gets confused when we don't use the same
register all the time (the old code used r0 always).
Review URL: http://codereview.chromium.org/1604002

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

14 years agoLanding http://codereview.chromium.org/1594017 for Ryan.
antonm@chromium.org [Thu, 8 Apr 2010 18:23:10 +0000 (18:23 +0000)]
Landing codereview.chromium.org/1594017 for Ryan.

TBR=ager@chromium.org

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

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

14 years agoRevert r4358.
antonm@chromium.org [Thu, 8 Apr 2010 18:07:46 +0000 (18:07 +0000)]
Revert r4358.

TBR=peter.rybin@gmail.com

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

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

14 years agoRe-submitting binary op ICs for ARM. Does not break debug tests
kaznacheev@chromium.org [Thu, 8 Apr 2010 15:19:06 +0000 (15:19 +0000)]
Re-submitting binary op ICs for ARM. Does not break debug tests
now.

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

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

14 years agoAdding boolean saveAnswer property of RegExpCache to avoid unnecessary cloning of...
sandholm@chromium.org [Thu, 8 Apr 2010 14:42:27 +0000 (14:42 +0000)]
Adding boolean saveAnswer property of RegExpCache to avoid unnecessary cloning of the regexp answer object/array.
Review URL: http://codereview.chromium.org/1556019

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

14 years agoFix debug builds.
mikhail.naganov@gmail.com [Thu, 8 Apr 2010 14:00:51 +0000 (14:00 +0000)]
Fix debug builds.

TBR=ager@chromium.org

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

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

14 years agoRemoving BinaryOpIC::Clear. This method relied on some less-than-obvious hack,
kaznacheev@chromium.org [Thu, 8 Apr 2010 13:41:11 +0000 (13:41 +0000)]
Removing BinaryOpIC::Clear. This method relied on some less-than-obvious hack,
and there was zero (or small negative) performance advantage.

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

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

14 years agoMake VM state tracking to be independent of logging and profiling.
mikhail.naganov@gmail.com [Thu, 8 Apr 2010 13:37:39 +0000 (13:37 +0000)]
Make VM state tracking to be independent of logging and profiling.

Also pull out VMState into its own set of source files.

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

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

14 years agoAdd support for bkpt instruction
sgjesse@chromium.org [Thu, 8 Apr 2010 13:30:48 +0000 (13:30 +0000)]
Add support for bkpt instruction

The bkpt instruction is now supported by both the disassembler and the simulator. In the simulator it breaks to the native debugger if any like int3 on Intel.

Moved the handling of the miscellaneous instructions to a separate part.

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

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

14 years agoLiveEdit: update breakpoint positions for non-changed functions
peter.rybin@gmail.com [Thu, 8 Apr 2010 12:37:10 +0000 (12:37 +0000)]
LiveEdit: update breakpoint positions for non-changed functions

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

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

14 years agoSmall improvements with code patching
peter.rybin@gmail.com [Wed, 7 Apr 2010 18:13:18 +0000 (18:13 +0000)]
Small improvements with code patching

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

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

14 years agoC++ profiles processor: align browser mode with the old implementation, sample VM...
mikhail.naganov@gmail.com [Wed, 7 Apr 2010 14:18:26 +0000 (14:18 +0000)]
C++ profiles processor: align browser mode with the old implementation, sample VM state.

In browser (DevTools) mode, only non-native JS code and callbacks are reported.
Also, added "(garbage collector)" entry which accumulates samples count in GC state.
Trying to display "(compiler)" and "(external)" only brings confusion,
because it ends up in displaying scripts code under "(compiler)" node, and DOM
event handlers under "(external)" node, which looks weird.

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

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

14 years agoEarly specialize sorting functions depending if there is a custom comparator or not.
antonm@chromium.org [Wed, 7 Apr 2010 13:13:06 +0000 (13:13 +0000)]
Early specialize sorting functions depending if there is a custom comparator or not.

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

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

14 years agoAdd number string cache lookup for heap numbers to generatred code (on top of the...
sgjesse@chromium.org [Wed, 7 Apr 2010 11:13:05 +0000 (11:13 +0000)]
Add number string cache lookup for heap numbers to generatred code (on top of the already existing smi lookup)

Added a number to string runtime function which does not try to do a cache lookup as the number is known to not be in the cahce.
Review URL: http://codereview.chromium.org/1602010

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

14 years agoChange Math.random() to return 32 bits of random goodness, instead of 30 random bits...
whesse@chromium.org [Wed, 7 Apr 2010 08:18:51 +0000 (08:18 +0000)]
Change Math.random() to return 32 bits of random goodness, instead of 30 random bits.  Math.random now allocates a HeapNumber inline, and calls a C funciton directly to put the random bits into it.
Review URL: http://codereview.chromium.org/1599019

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

14 years agoUpdate doc as well.
antonm@chromium.org [Tue, 6 Apr 2010 18:04:45 +0000 (18:04 +0000)]
Update doc as well.

TBR=ager@chromium.org

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

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

14 years agoLanding http://codereview.chromium.org/1539013 for ry@tinyclouds.org.
antonm@chromium.org [Tue, 6 Apr 2010 17:58:43 +0000 (17:58 +0000)]
Landing codereview.chromium.org/1539013 for ry@tinyclouds.org.

TBR=ager@chromium.org

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

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

14 years agoLiveEdit: implement frame dropping
peter.rybin@gmail.com [Tue, 6 Apr 2010 17:58:28 +0000 (17:58 +0000)]
LiveEdit: implement frame dropping

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

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

14 years agoAdd include/v8-profiler.h into manually maintained project files.
mikhail.naganov@gmail.com [Tue, 6 Apr 2010 17:15:19 +0000 (17:15 +0000)]
Add include/v8-profiler.h into manually maintained project files.

Sorry, forgot about it. No need to change v8.gyp because it only
references the whole 'include' directory.

TBR=sgjesse@chromium.org

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

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

14 years agoC++ profiler: publish the new API, make compatible with WebKit / Chromium.
mikhail.naganov@gmail.com [Tue, 6 Apr 2010 14:54:20 +0000 (14:54 +0000)]
C++ profiler: publish the new API, make compatible with WebKit / Chromium.

I succeeded at connecting the new implementation to Chromium, this
commit includes required (although, not all) adjustments.

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

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

14 years agoLand patch by Pavel Podivilov (podivilov@chromium.org).
vitalyr@chromium.org [Tue, 6 Apr 2010 14:16:39 +0000 (14:16 +0000)]
Land patch by Pavel Podivilov (podivilov@chromium.org).

Port string stub for keyed loads to x64 and ARM.

BUG=566
TBR=ager@chromium.org
TEST=test/mjsunit/string-index.js

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

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

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

14 years agoPrepare push to trunk. Now working on version 2.2.2.
lrn@chromium.org [Tue, 6 Apr 2010 12:43:43 +0000 (12:43 +0000)]
Prepare push to trunk.  Now working on version 2.2.2.

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

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

14 years agoJS implementation of isFinite.
serya@chromium.org [Tue, 6 Apr 2010 10:40:25 +0000 (10:40 +0000)]
JS implementation of isFinite.
Review URL: http://codereview.chromium.org/1608003

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

14 years agoC++ profiles processor: wire up to VM.
mikhail.naganov@gmail.com [Tue, 6 Apr 2010 10:36:38 +0000 (10:36 +0000)]
C++ profiles processor: wire up to VM.

If 'shell' is compiled with 'cppprofilesprocessor=on' and run
with '--prof' flag, top-down and bottom-up call trees are printed
on shell exit.

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

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

14 years agoModify date printing to fetch time zone name before converting to local time, so...
whesse@chromium.org [Tue, 6 Apr 2010 10:22:52 +0000 (10:22 +0000)]
Modify date printing to fetch time zone name before converting to local time, so that the two agree.  Fix a problem in DateToTimeString() time zone calculation.
Review URL: http://codereview.chromium.org/1539009

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

14 years agoCommitting http://codereview.chromium.org/1543003 for pvalchev and sprewell
erik.corry@gmail.com [Tue, 6 Apr 2010 09:27:09 +0000 (09:27 +0000)]
Committing codereview.chromium.org/1543003 for pvalchev and sprewell

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

14 years agoUpdating a comment in InternalStringToInt.
serya@chromium.org [Mon, 5 Apr 2010 08:03:45 +0000 (08:03 +0000)]
Updating a comment in InternalStringToInt.
Review URL: http://codereview.chromium.org/1547017

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

14 years agoParsing some kinds of integers and junk values in Runtime_NumberToString. For that...
serya@chromium.org [Mon, 5 Apr 2010 08:00:28 +0000 (08:00 +0000)]
Parsing some kinds of integers and junk values in Runtime_NumberToString. For that values the string is converted into int and then into SMI. It lets to avoid floating point operations.

Committed: http://code.google.com/p/v8/source/detail?r=4331
Review URL: http://codereview.chromium.org/1572004

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

14 years agoLet LiveEdit accept a full new script source (rather than diff)
peter.rybin@gmail.com [Fri, 2 Apr 2010 11:03:49 +0000 (11:03 +0000)]
Let LiveEdit accept a full new script source (rather than diff)

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

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

14 years agoSupport setting brekpoint by script name set in //@ scriptURL= comment,
mikhail.naganov@gmail.com [Thu, 1 Apr 2010 16:25:07 +0000 (16:25 +0000)]
Support setting brekpoint by script name set in //@ scriptURL= comment,
in case script name is missing.

BUG=http://crbug.com/39290

Author: Andrey Kosyakov (caseq@chromium.org)
Original issue: http://codereview.chromium.org/1303003

TBR=sgjesse@chromium.org

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

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

14 years agoMake check for writes without remembered set updates less restrictive.
kmillikin@chromium.org [Thu, 1 Apr 2010 06:57:31 +0000 (06:57 +0000)]
Make check for writes without remembered set updates less restrictive.

One doesn't have to update remembered set if it already contains a mark for
the given address.

BUG=39766

Original review: http://codereview.chromium.org/1603002

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

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

14 years agoStringToInt rewritten. This version doesn't allocate memory for long decimals and...
serya@chromium.org [Wed, 31 Mar 2010 17:19:05 +0000 (17:19 +0000)]
StringToInt rewritten. This version doesn't allocate memory for long decimals and uses percise rounding if radix 10 or a power of 2 (in other cases rounding error still may occur). Handling special values moved from Runtime_StringParseInt into StringToInt in order to make it consistent with StringToDouble.

Committed: http://code.google.com/p/v8/source/detail?r=4329
Review URL: http://codereview.chromium.org/1529004

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

14 years agoUpdate the time zone offset and dst offset when time zone name changes.
whesse@chromium.org [Wed, 31 Mar 2010 12:20:32 +0000 (12:20 +0000)]
Update the time zone offset and dst offset when time zone name changes.
Review URL: http://codereview.chromium.org/1543008

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

14 years agoParsing some kinds of integers and junk values in Runtime_NumberToString. For that...
serya@chromium.org [Wed, 31 Mar 2010 12:00:57 +0000 (12:00 +0000)]
Parsing some kinds of integers and junk values in Runtime_NumberToString. For that values the string is converted into int and then into SMI. It lets to avoid floating point operations.

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

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

14 years agoReverting r4329 due to failure in webkit tests.
serya@chromium.org [Wed, 31 Mar 2010 11:13:42 +0000 (11:13 +0000)]
Reverting r4329 due to failure in webkit tests.
Review URL: http://codereview.chromium.org/1579004

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

14 years agoStringToInt rewritten. This version doesn't allocate memory for long decimals and...
serya@chromium.org [Wed, 31 Mar 2010 10:11:33 +0000 (10:11 +0000)]
StringToInt rewritten. This version doesn't allocate memory for long decimals and uses percise rounding if radix 10 or a power of 2 (in other cases rounding error still may occur). Handling special values moved from Runtime_StringParseInt into StringToInt in order to make it consistent with StringToDouble.

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

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

14 years agoFix time zone cache so it is not initialized when the snapshot is built.
whesse@chromium.org [Tue, 30 Mar 2010 14:29:32 +0000 (14:29 +0000)]
Fix time zone cache so it is not initialized when the snapshot is built.
Review URL: http://codereview.chromium.org/1576002

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

14 years agoMake link happy.
vitalyr@chromium.org [Tue, 30 Mar 2010 14:02:40 +0000 (14:02 +0000)]
Make link happy.

TBR=lrn@chromium.org

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

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

14 years agoInline %_ArgumentsLength.
vitalyr@chromium.org [Tue, 30 Mar 2010 13:55:03 +0000 (13:55 +0000)]
Inline %_ArgumentsLength.

This makes usage of cmov unnecessary.

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

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

14 years agoFix bug in string replace with nonparticipating captures.
lrn@chromium.org [Tue, 30 Mar 2010 13:26:13 +0000 (13:26 +0000)]
Fix bug in string replace with nonparticipating captures.

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

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

14 years agoTrim in some cases of Array.splice.
antonm@chromium.org [Tue, 30 Mar 2010 12:48:55 +0000 (12:48 +0000)]
Trim in some cases of Array.splice.

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

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

14 years agoMove the AstVisitor stack check from Accept to Visit.
kmillikin@chromium.org [Tue, 30 Mar 2010 12:25:58 +0000 (12:25 +0000)]
Move the AstVisitor stack check from Accept to Visit.

The stack check has been moved from the Accept function dispatching on
the AST node type, earlier to the Visit function dispatching on the
visitor type.

This allows very simple non-recursive visitors (not taking extra
arguments or returning values) via the convention of calling "Visit"
if one wants the stack check and "Accept" if one does not.  Recursive
calls should all be via "Visit".

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

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

14 years agoSimplify IA32 code generator API.
kmillikin@chromium.org [Tue, 30 Mar 2010 12:12:31 +0000 (12:12 +0000)]
Simplify IA32 code generator API.

Cut down on the number of arguments passed to the various binary operation
code generator functions by passing along the expression itself, rather than
a subset of its fields.

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

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

14 years agoMerging scavenge into sweeping phase of mark-sweep(-compact) collector.
vegorov@chromium.org [Tue, 30 Mar 2010 12:01:06 +0000 (12:01 +0000)]
Merging scavenge into sweeping phase of mark-sweep(-compact) collector.

Should reduce full GC pauses.
Review URL: http://codereview.chromium.org/1217011

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

14 years agoC++ profiles processor: put under #ifdef and fix issues.
mikhail.naganov@gmail.com [Tue, 30 Mar 2010 11:38:39 +0000 (11:38 +0000)]
C++ profiles processor: put under #ifdef and fix issues.

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

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

14 years agoRemove trailing regexp from .js files.
kmillikin@chromium.org [Tue, 30 Mar 2010 07:15:23 +0000 (07:15 +0000)]
Remove trailing regexp from .js files.

Removed trailing whitespace using regexp replace.  No other changes.

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

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

14 years agoFix the case of no words to copy.
antonm@chromium.org [Mon, 29 Mar 2010 22:07:52 +0000 (22:07 +0000)]
Fix the case of no words to copy.

CopyWords cannot actually copy zero words---it'd clobber destiantion with
the first word of source.

Add an ASSERT to check this condition plus update array builtins to verify
for amount of copied data when necessary.

TBR=vitalyr@chromium.org

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

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

14 years agoFix bug in string replace regexp with function when returning non-string.
lrn@chromium.org [Mon, 29 Mar 2010 21:12:54 +0000 (21:12 +0000)]
Fix bug in string replace regexp with function when returning non-string.

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

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

14 years agoFixing Windows build.
serya@chromium.org [Mon, 29 Mar 2010 18:32:25 +0000 (18:32 +0000)]
Fixing Windows build.
Review URL: http://codereview.chromium.org/1563002

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

14 years agoRefactor word copying logic.
antonm@chromium.org [Mon, 29 Mar 2010 18:02:06 +0000 (18:02 +0000)]
Refactor word copying logic.

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

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

14 years agoPercise rounding parsing octal and hexadecimal strings.
serya@chromium.org [Mon, 29 Mar 2010 15:46:58 +0000 (15:46 +0000)]
Percise rounding parsing octal and hexadecimal strings.

Rounding happens when the number exceeds 53 bits of floating point mantissa. Current implemetation ignores digits after some limits. 0x1000000000000081 was rounded to 0x1000000000000100 while 0x100000000000008000001 was rounded to 0x100000000000000000000.

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

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

14 years agoFix presubmit failure.
kmillikin@chromium.org [Mon, 29 Mar 2010 14:43:41 +0000 (14:43 +0000)]
Fix presubmit failure.

TBR=fschneider@chromium.org

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

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

14 years agoRework flow graph construction.
kmillikin@chromium.org [Mon, 29 Mar 2010 14:23:55 +0000 (14:23 +0000)]
Rework flow graph construction.

The flow graph has been simplified to remove the special branch, join,
and exit nodes.  All nodes are now basic blocks (possibly empty to
preserve edge-split form) with a distinguished entry and exit block.

Most trivial expressions are not added to the flow graph as
instructions.  The assigned variable analyzer has been changed to
sometimes work right-to-left so that right subexpressions can be
marked as trivial.

The reaching definitions analysis has been temporarily removed, and
the analyses that depended on it (primitivity analysis, dead code
marking) as well.

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

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

14 years agoCall binary op stub instead of runtime in count operations.
vitalyr@chromium.org [Mon, 29 Mar 2010 14:10:49 +0000 (14:10 +0000)]
Call binary op stub instead of runtime in count operations.

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

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

14 years agoStart using String type info:
vitalyr@chromium.org [Mon, 29 Mar 2010 11:48:57 +0000 (11:48 +0000)]
Start using String type info:

 * Improved string concatenation.

 * Fixed type inference in prefix/postfix count operations.

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

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

14 years agoOptimization for parsing integers of limited length (in digits).
serya@chromium.org [Mon, 29 Mar 2010 11:17:34 +0000 (11:17 +0000)]
Optimization for parsing integers of limited length (in digits).
Review URL: http://codereview.chromium.org/1367004

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

14 years agoPrepare push of version 2.2.0 to trunk. Now working on version 2.2.1.
ricow@chromium.org [Mon, 29 Mar 2010 07:25:54 +0000 (07:25 +0000)]
Prepare push of version 2.2.0 to trunk. Now working on version 2.2.1.
Review URL: http://codereview.chromium.org/1527002

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

14 years agoSome string optimizations:
vitalyr@chromium.org [Fri, 26 Mar 2010 23:33:37 +0000 (23:33 +0000)]
Some string optimizations:

 * Faster hashing for sequential strings.

 * When adding short external two-byte strings try to convert them
   back to ascii. Chances are high the embedder uses two-byte
   representation even for ascii strings. This optimization saves
   memory and makes hashing faster.

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

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

14 years agoOmit write barrier when setting trimmed elements.
antonm@chromium.org [Fri, 26 Mar 2010 18:47:14 +0000 (18:47 +0000)]
Omit write barrier when setting trimmed elements.

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

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

14 years agoPre-create properties on JSRegExp objects
lrn@chromium.org [Fri, 26 Mar 2010 14:19:47 +0000 (14:19 +0000)]
Pre-create properties on JSRegExp objects
Initialize properties in single runtime call.

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

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