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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
whesse@chromium.org [Fri, 26 Mar 2010 11:34:00 +0000 (11:34 +0000)]
Change a TypeInfo function from inline to non-inline, reducing stack usage during code compilation.
Review URL: http://codereview.chromium.org/1369003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 26 Mar 2010 09:14:50 +0000 (09:14 +0000)]
Prepare push of version 2.1.10 to trunk. Now working on version 2.2.0.
Review URL: http://codereview.chromium.org/1397003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 26 Mar 2010 09:05:22 +0000 (09:05 +0000)]
Port number dictionary probing in generated code to ARM.
Fix bug in ARM pixel array load code and a typo in the x64 number
dictionary load code.
Fix bug in string dictionary probing where we did not bail out if the
object has an interceptor.
BUG=640
Review URL: http://codereview.chromium.org/1332003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 26 Mar 2010 07:58:24 +0000 (07:58 +0000)]
Proper constraints for inline implementation in assembly.
Review URL: http://codereview.chromium.org/1359002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 26 Mar 2010 07:55:38 +0000 (07:55 +0000)]
Land codereview.chromium.org/1311003/diff/8001/9001 to allows us to push to trunk. Corrected the ASSERT from the review.
Review URL: http://codereview.chromium.org/1404001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 26 Mar 2010 07:47:41 +0000 (07:47 +0000)]
Avoid having a LIBS setting when compiling the V8 library
because this interferes with the shared library build.
Only prepend v8 to the LIBS list when building samples
or cctest.
Review URL: http://codereview.chromium.org/1387004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 25 Mar 2010 17:08:22 +0000 (17:08 +0000)]
Simplify passing of AccessorInfo to interceptors:
* Use slots on the native stack when possible instead of Relocatable.
* Got rid of a gap in AccessorInfo fields.
* Added test for non-cacheable post-interceptor lookup.
Review URL: http://codereview.chromium.org/1327002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 25 Mar 2010 16:22:48 +0000 (16:22 +0000)]
Move flow graph and helper classes to their own file.
The FlowGraph, FlowGraphBuilder, and flow graph node classes are moved
to src/flow-graph.cc.
Review URL: http://codereview.chromium.org/1253009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 25 Mar 2010 15:32:58 +0000 (15:32 +0000)]
Add a test to verify correctness of remembered set update for Heap::CopyJSObject.
Review URL: http://codereview.chromium.org/1256002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 25 Mar 2010 14:55:53 +0000 (14:55 +0000)]
Align OProfile agent invocations style with logging.
This allows to unclutter logging-related code.
I also fixed compilation issues with 'profilingsupport=off'.
Review URL: http://codereview.chromium.org/1317003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Thu, 25 Mar 2010 14:39:39 +0000 (14:39 +0000)]
StringToDouble rewritten not using String::Get and memory allocations.
It converts the number to "canonical" form removing insignificant digits,
leading zerroes and spaces what guarantees to fit a fixed size buffer and
does not changes result of strtod.
Review URL: http://codereview.chromium.org/1216005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 25 Mar 2010 14:20:56 +0000 (14:20 +0000)]
Slightly faster variant of Array.push.
Review URL: http://codereview.chromium.org/1265003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 25 Mar 2010 14:07:17 +0000 (14:07 +0000)]
Allow empty handles to escape handle scopes.
BUG=39170
Review URL: http://codereview.chromium.org/1235002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 25 Mar 2010 13:56:29 +0000 (13:56 +0000)]
Fix my fast-codegen.cc gyp file stupidity.
Review URL: http://codereview.chromium.org/1207007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 25 Mar 2010 13:55:52 +0000 (13:55 +0000)]
Prepare push to trunk, we are now working on 2.1.10
Review URL: http://codereview.chromium.org/1242007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 25 Mar 2010 13:35:05 +0000 (13:35 +0000)]
Fix build again after renaming.
Review URL: http://codereview.chromium.org/1335001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 25 Mar 2010 13:31:19 +0000 (13:31 +0000)]
Gyp causing me gyp.
Review URL: http://codereview.chromium.org/1323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 25 Mar 2010 13:22:37 +0000 (13:22 +0000)]
Speed up conversion of untagged int32 result if we know it must be a smi.
Review URL: http://codereview.chromium.org/1233003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 25 Mar 2010 13:18:00 +0000 (13:18 +0000)]
Split the virtual frame into heavy and light versions.
The heavy version is for x86 and x64. The light version
is for ARM and MIPS. Remove the elements_ array from the
virtual frame in the light version. More simplifications
to come, followed by light register allocation.
Review URL: http://codereview.chromium.org/1164002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 25 Mar 2010 13:14:25 +0000 (13:14 +0000)]
Fix build.
Some old names reappeared due to some merge problem.
Review URL: http://codereview.chromium.org/1334001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 25 Mar 2010 13:10:50 +0000 (13:10 +0000)]
Fix LargeObjectSpace::Contains to check if addr is in new space.
Otherwise page header check is not quite robust: if there is a smi
at the same offset as Page::is_normal_page field, wrong result would
be returned.
That shouldn't be the problem for paged spaces as objects in those
pages do not span page boundaries and thus cannot mess with ::is_normal_page field.
Review URL: http://codereview.chromium.org/1175001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Mar 2010 12:57:58 +0000 (12:57 +0000)]
Run string replace regexp with function in C++ code loop.
Reuses the result array to save on allocation.
Matches Safari's behavior.
Review URL: http://codereview.chromium.org/1109010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4269
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 25 Mar 2010 12:44:15 +0000 (12:44 +0000)]
Rename NumberInfo to TypeInfo.
Since we add more type (StringType, PrimitiveType) the name
NumberInfo does not make sense anymore.
Review URL: http://codereview.chromium.org/1207006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00