Commit Graph

3742 Commits

Author SHA1 Message Date
whesse@chromium.org
a8e817161a 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
2010-04-12 10:07:50 +00:00
mikhail.naganov@gmail.com
d4e436d0ad 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
2010-04-12 07:52:40 +00:00
mikhail.naganov@gmail.com
6f3f2f1c42 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
2010-04-12 07:23:43 +00:00
antonm@chromium.org
400b1be449 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
2010-04-12 07:05:24 +00:00
erik.corry@gmail.com
cfad01282c 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
2010-04-09 18:25:51 +00:00
antonm@chromium.org
7b8afe4c2c 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
2010-04-09 13:51:11 +00:00
peter.rybin@gmail.com
16799e203f 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
2010-04-09 13:02:25 +00:00
sgjesse@chromium.org
68a0a108c4 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
2010-04-09 11:25:52 +00:00
sandholm@chromium.org
67116752d9 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
2010-04-09 09:21:46 +00:00
vegorov@chromium.org
82ddab5fd5 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
2010-04-09 08:16:25 +00:00
ricow@chromium.org
88be99e9c0 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
2010-04-09 07:29:58 +00:00
erik.corry@gmail.com
fbefa72f81 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
2010-04-08 22:30:30 +00:00
antonm@chromium.org
c898c7ae03 Landing http://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
2010-04-08 18:23:10 +00:00
antonm@chromium.org
c1d55b5c9f 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
2010-04-08 18:07:46 +00:00
kaznacheev@chromium.org
aca9cf1bac 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
2010-04-08 15:19:06 +00:00
sandholm@chromium.org
c9b3e45cca 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
2010-04-08 14:42:27 +00:00
mikhail.naganov@gmail.com
a6e6131bf7 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
2010-04-08 14:00:51 +00:00
kaznacheev@chromium.org
d265cc8e9b 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
2010-04-08 13:41:11 +00:00
mikhail.naganov@gmail.com
c520e28dcb 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
2010-04-08 13:37:39 +00:00
sgjesse@chromium.org
de69f5beba 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
2010-04-08 13:30:48 +00:00
peter.rybin@gmail.com
4e6a738e63 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
2010-04-08 12:37:10 +00:00
peter.rybin@gmail.com
f6fd7d4145 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
2010-04-07 18:13:18 +00:00
mikhail.naganov@gmail.com
4f5ff869d3 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
2010-04-07 14:18:26 +00:00
antonm@chromium.org
a4df380ffa 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
2010-04-07 13:13:06 +00:00
sgjesse@chromium.org
c0976e9276 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
2010-04-07 11:13:05 +00:00
whesse@chromium.org
c33886c9b7 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
2010-04-07 08:18:51 +00:00
antonm@chromium.org
d73f9f0f33 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
2010-04-06 18:04:45 +00:00
antonm@chromium.org
e116cce61b Landing http://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
2010-04-06 17:58:43 +00:00
peter.rybin@gmail.com
be5bb26e38 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
2010-04-06 17:58:28 +00:00
mikhail.naganov@gmail.com
070ee02057 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
2010-04-06 17:15:19 +00:00
mikhail.naganov@gmail.com
393aa6865b 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
2010-04-06 14:54:20 +00:00
vitalyr@chromium.org
9b54227cc7 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
2010-04-06 14:16:39 +00:00
lrn@chromium.org
b14a73fc82 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
2010-04-06 12:43:43 +00:00
serya@chromium.org
eb04a6a95f 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
2010-04-06 10:40:25 +00:00
mikhail.naganov@gmail.com
889f6cce74 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
2010-04-06 10:36:38 +00:00
whesse@chromium.org
388ad02863 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
2010-04-06 10:22:52 +00:00
erik.corry@gmail.com
77fb69b6dc Committing http://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
2010-04-06 09:27:09 +00:00
serya@chromium.org
0119e80908 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
2010-04-05 08:03:45 +00:00
serya@chromium.org
9877ea8b90 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
2010-04-05 08:00:28 +00:00
peter.rybin@gmail.com
560baa5eb4 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
2010-04-02 11:03:49 +00:00
mikhail.naganov@gmail.com
c2df9cc8c8 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
2010-04-01 16:25:07 +00:00
kmillikin@chromium.org
3c2964a723 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
2010-04-01 06:57:31 +00:00
serya@chromium.org
93477c22d3 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
2010-03-31 17:19:05 +00:00
whesse@chromium.org
9738049a65 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
2010-03-31 12:20:32 +00:00
serya@chromium.org
4db3400782 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
2010-03-31 12:00:57 +00:00
serya@chromium.org
704eca9aca 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
2010-03-31 11:13:42 +00:00
serya@chromium.org
dcd96d1fa0 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
2010-03-31 10:11:33 +00:00
whesse@chromium.org
22025291da 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
2010-03-30 14:29:32 +00:00
vitalyr@chromium.org
c51c67d9c0 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
2010-03-30 14:02:40 +00:00
vitalyr@chromium.org
f1a47d2bbd 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
2010-03-30 13:55:03 +00:00