Commit Graph

380 Commits

Author SHA1 Message Date
mmaly@chromium.org
727aa91bbf Fix xcode.
TBR=arger@chromium.org

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-20 21:53:34 +00:00
sgjesse@chromium.org
198bcbaa13 Adding build script changes to support LiveObjectList functionality.
Patch by Mark Lam from Hewlett-Packard Development Company, LP

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


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-20 08:38:01 +00:00
kmillikin@chromium.org
437914da90 Change the algorithm and generated code for parallel moves on IA32.
Instead of spilling and then immediately restoring eax to resolve
memory to memory moves, the gap move resolver now tracks registers
that are known to be free and uses one if available.  If not it spills
but restores lazily when the spilled value is needed or at the end of
the algorithm.

Instead of using esi for resolving cycles and assuming it is free to
overwrite because it can be rematerialized, the gap move resolver now
resolves cycles using swaps, possibly using a free register as above.

The algorithm is also changed to be simpler: a recursive depth-first
traversal of the move dependence graph.  It uses a list of moves to be
performed (because it mutates the moves themselves), but does not use
any auxiliary structure other than the control stack.  It does not
build up a separate list of scheduled moves to be interpreted by the
code generate, but emits code on the fly.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-17 11:25:36 +00:00
ager@chromium.org
091626e8ec Landing for Martin Maly.
Fix x64 XCode project files.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-13 09:34:19 +00:00
whesse@chromium.org
5d3432b530 Add source file lithium-codegen-x64.cc. Add class declarations to lithium-codegen-x64.h.
Review URL: http://codereview.chromium.org/6135008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-11 12:24:18 +00:00
ricow@chromium.org
b4ea8c7f5e Enable sharding of individual testsuites in tools/test.py
This patch enables two new flags for the tools/test.py script;
--shard-count - giving the ability to split the tests to be run
into shard-count chunks.
--shard-run - giving the ability to specify which of the shards to actually run.

Example
  tools/test.py -j15 --shard-count=2 --shard-run=1 mozilla
would split the mozilla tests into two chunks and run the tests in the first chunk

Running:
  tools/test.py -j15 --shard-count=2 --shard-run=1 mozilla
  tools/test.py -j15 --shard-count=2 --shard-run=2 mozilla
is equivalent (in terms of test coverage) of just running:
  tools/test.py -j15 mozilla

In addition, tests are now sorted before they are returned from the
test specific ListTests methods (sputnik and mozilla tests where
already sorted before they where returned).

This change is needed to split a single test suite over two slaves on
the waterfall.


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-10 13:54:42 +00:00
ager@chromium.org
026842c50d Landing for Martin Maly.
Fix xcode project. 
Add missing files (lithium.cc, lithium.h, lithium-x64.cc). 
Add 64 bit targets to "All" targets group for Xcode build. 

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-10 08:17:05 +00:00
whesse@chromium.org
7c94bf13b9 Create platform-independent lithium files, move LGapResolver and LGapNode there
Review URL: http://codereview.chromium.org/6121001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-07 11:49:22 +00:00
ager@chromium.org
87209d787a Landing for Martin Maly.
Add x64 targets to the v8 Xcode project. 
Move platform specific files into their own groups. 

BUG= 
TEST=

Code review URL: http://codereview.chromium.org/5958020/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-06 08:59:02 +00:00
whesse@chromium.org
3055ca216d Add private members to lithium classes on X64. Add implementation file lithium-x64.cc.
Review URL: http://codereview.chromium.org/6015014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-05 12:31:31 +00:00
sgjesse@chromium.org
f95f295dcb Add use_system_v8 option to gyp (off by default),
as discussed in http://groups.google.com/group/v8-users/browse_thread/thread/33a69c51d8023ced

This will make it easier for Linux distributions
to ship with system-provided V8 library.

Patch by Pawel Hajdan, Jr. <phajdan.jr@chromium.org>

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


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-04 12:14:10 +00:00
ager@chromium.org
cd73368f83 Landing for Martin Maly.
Fix Xcode project.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-03 08:13:37 +00:00
sgjesse@chromium.org
716e6282e9 Refactoring out object printing functions into objects-printer.cc.
Patch by Mark Lam from Hewlett-Packard Development Company, LP

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


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-22 13:04:47 +00:00
sgjesse@chromium.org
e21d76a0e3 1. Added support for object printing for release mode using the
objectprint=on (defaults to off) option (which defines OBJECT_PRINT).
2. Added the ability to print objects to a specified file instead of
   just stdout.
3. Added a use_verbose_printer flag (true by default) to allow some
   object printouts to be less verbose when the flag is false.
4. Fixed a bug in VSNPrintF() where it can potentially write into an
   empty char vector.

Patch by Mark Lam from Hewlett-Packard Development Company, LP

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


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-20 10:38:19 +00:00
ager@chromium.org
02382a6d57 Fix 'Optimizations' typo in gyp file.
BUG=http://code.google.com/p/v8/issues/detail?id=998
Review URL: http://codereview.chromium.org/5970001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-17 07:52:20 +00:00
mikhail.naganov@gmail.com
e521db4afa Make V8 compilable with profiling support turned off.
BUG=990

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-16 12:14:56 +00:00
ager@chromium.org
d3341acd45 Landing for Martin Maly.
Update the XCode project file.

Updating the Xcode project after crankshaft landed.

Codereview URL: http://codereview.chromium.org/5834001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-15 07:47:35 +00:00
sgjesse@chromium.org
d9c202752e Initial attempt to add support for using gyp to build V8 itself
This is based on the structore used in chromium with a script wrapping the call to gyp itself and the default processing of common.gypi.

It is possible to build all our targets on Intel Linux for all architectures (ia32, x64 and ARM simulator). When this is committed I wil take a look at Windows.

See the README.txt file in the changelist for the current way of using it.
Review URL: http://codereview.chromium.org/5701001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-14 08:16:39 +00:00
lrn@chromium.org
79a311cd19 Add gyp target to build preparser as stand-alone library.
Likely only works on Linux yet.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-10 12:58:18 +00:00
sgjesse@chromium.org
de9b447b02 Add missing include directory for shell sample.
BUG=http://code.google.com/p/v8/issues/detail?id=967
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/5680004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-10 12:33:59 +00:00
ager@chromium.org
eb8e1d9d0e Change test script to make it easy to run crankshaft tests on ARM and
x64 where crankshaft is not the default. Add ability to add custom
expectations for running in this special crankshaft mode.

The expectations are not updated in this change. There are a couple of
bugs that I would like to fix before doing that. Otherwise the lists
will be very long. :)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-10 12:05:28 +00:00
sgjesse@chromium.org
dbbe453f0a Update the Visual Studio 2005 project files to include the new crankshaft files
Tested With Visual Studio 2008 which converts the files and builds all targets.
Review URL: http://codereview.chromium.org/5660005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-08 10:05:10 +00:00
ricow@chromium.org
b6a9cc1c1c Fix arm gyp files, lithium files where not added.
Review URL: http://codereview.chromium.org/5558009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 15:47:17 +00:00
mikhail.naganov@gmail.com
670aea0218 Remove log compression support.
This is no longer used in Chromium, and only pollutes code.

BUG=859

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 13:24:22 +00:00
kasperl@chromium.org
90b3370374 Update V8 to version 3.0 (re-land r5920).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:31:57 +00:00
kasperl@chromium.org
51b494d096 Revert r5920. Will re-land shortly.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:01:02 +00:00
kasperl@chromium.org
e5860bd6a8 Update V8 to version 3.0.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 09:11:56 +00:00
lrn@chromium.org
0c60c88c2c Working stand-alone preparser.
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-24 09:57:06 +00:00
lrn@chromium.org
3dda6c496f Added files to gyp-config.
Review URL: http://codereview.chromium.org/5276004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-23 12:11:07 +00:00
lrn@chromium.org
dc390d0e1f Untemplated preparser.h and made it depend on virtual types.
Extracted preparse-data specification and logging classes.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-23 11:46:36 +00:00
floitschV8@gmail.com
1fafbe760d Remove Gay's dtoa from sources.
Farewell.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-22 14:42:07 +00:00
floitschV8@gmail.com
7ac932c088 Add bignum fall-back when the fast dtoa doesn't succeed. This removes Gay's dtoa for the double->string direction. We still need it for the string->double direction.
Review URL: http://codereview.chromium.org/3468003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-17 13:20:44 +00:00
ager@chromium.org
a24d627598 Extract extensions to a separate directory.
Remove extensions from the external reference table. They should never
be part of the serialized code.

Create extensions/experimental subdirectory for experimental
extensions not officially supported by V8.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-17 12:28:30 +00:00
lrn@chromium.org
4fa607ec57 Revert unkosher change to xcode project.
Should have been reverted before committing 5775, but that revert failed to stick.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-11 08:11:27 +00:00
floitschV8@gmail.com
0c200bec48 Remove bignum-dtoa.{cc, h} from gyp file.
Review URL: http://codereview.chromium.org/4673002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-08 15:37:11 +00:00
floitschV8@gmail.com
808d00f8ef Bignum implementation of Strtod.
This removes the dependency on Gay's strtod.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-08 11:49:47 +00:00
lrn@chromium.org
f386f97476 Move part of scanner.* into scanner-base.* for reuse in preparser scanner.
Make checks.h not depend on flags.h or global.h (or anything else except
include/v8stdint.h). Only checks.cc has the dependencies (so another
implementation of checks.cc can be provided by the preparser).
Now files depending on checks.h (using ASSERT macros) can include it
directly without depending on all of v8.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-05 13:33:40 +00:00
lrn@chromium.org
455cfe5932 Make presubmit lint the "include" dir.
Make include dir content pass lint.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-04 10:27:39 +00:00
vitalyr@chromium.org
08fbd012b0 ll_prof: minor fixes to the issues found while running with chromium.
Review URL: http://codereview.chromium.org/4097011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-28 16:48:10 +00:00
mikhail.naganov@gmail.com
a21fc8e23a Make windows-tick-processor respect D8_PATH.
Review URL: http://codereview.chromium.org/4078002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-25 15:04:08 +00:00
ager@chromium.org
08da2bd6fb Remove vm-state.cc from build files. Forgot to do that when
removing the file from the repository.
Review URL: http://codereview.chromium.org/3950001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-20 06:47:49 +00:00
vitalyr@chromium.org
e6b33bd20b Support profiling based on linux kernel performance events.
Since 2.6.31 perf_events interface has been available in the
kernel. There's a nice tool called "perf" (linux-2.6/tools/perf) that
uses this interface and provides capabilities similar to oprofile. The
simplest form of its usage is just dumping the raw log (trace) of
events generated by the kernel. In this patch I'm adding a script
(tools/ll_prof.py) to build profiles based on perf trace and our code
log. All the heavy-lifting is done by perf. Compared to oprofile agent
this approach does not require recompilation and supports code moving
garbage collections.

Expected usage is documented in the ll_prof's help. Basically one
should run V8 under perf passing --ll-prof flag and then the produced
logs can be analyzed by tools/ll_prof.py.

The new --ll-prof flag enables logging of generated code object
locations and names (like --log-code), and also of their bodies, which
can be later disassembled and annotated by the script.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-19 16:45:11 +00:00
floitschV8@gmail.com
f5ea94da69 Simplify powers-of-ten cache.
The existing cache was build to support changes to fast-dtoa. This complicated the cache. Since the cached numbers are now in a .cc file they can be shared with other parts of v8.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-07 13:02:36 +00:00
floitschV8@gmail.com
caf6856ade Move gay_strtod outside conversions.cc.
This is the first part of removing calls to gay's strtod. Future CLs will
get rid of calls to gay_strtod entirely.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-07 08:54:10 +00:00
lrn@chromium.org
2c85faf1ae Refactored string search code.
Made string search state explicit for repreated calls (a StringSearch class).

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-29 10:57:23 +00:00
mikhail.naganov@gmail.com
08967bb4aa fixed
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-27 05:25:31 +00:00
erik.corry@gmail.com
903571b233 Address some issues with detecting the architecture. See
http://code.google.com/p/v8/issues/detail?id=429
Review URL: http://codereview.chromium.org/3261003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 08:05:33 +00:00
antonm@chromium.org
79a219cf31 Add os_error stat to oom_dump utility.
Review URL: http://codereview.chromium.org/3150028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 12:26:58 +00:00
whesse@chromium.org
82309445ad Move code stub implementations from codegen-[platform].cc files to new code-stub-[platform].cc files, and declarations to new code-stub-[platform].h files.
Remaining work is to do the same for platform-independent code stub declarations, and to remove all dependencies on codegen header files from code stub files.
Review URL: http://codereview.chromium.org/3195022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 09:44:44 +00:00
ricow@chromium.org
3543dd53a4 Refactor the tools/test.py script and related testcfg.py files.
This makes it possible to run several variants of the tests (with different flags that is) by adding extra lists to the VARIANT_FLAGS list. In addition, there is a number of smaller refactorings. 


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-24 13:34:59 +00:00