Commit Graph

579 Commits

Author SHA1 Message Date
jkummerow@chromium.org
da5b44cbd1 Add support for Mac OS X 64bit builds with GYP
Note that in order to build for 64bits mode, you'll have
to specify the target architecture explicitely, the default
is still 32bits for Mac OS X.

Example with make and gcc:

$ export GYP_GENERATORS=make
$ make dependencies
$ make -j 8 library=shared x64.release

Example with make and clang:

$ export GYP_GENERATORS=make
$ export CC=/usr/bin/clang
$ export CXX=/usr/bin/clang++
$ export GYP_DEFINES="clang=1"
$ make dependencies
$ make -j 8 library=shared x64.release

Example with xcode:

$ export GYP_GENERATORS=xcode
$ build/gyp_v8 -Dtarget_arch=x64
$ xcodebuild -project build/all.xcodeproj -configuration Release

Contributed by Filipe David Manana <fdmanana@gmail.com>

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9808065

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-30 15:01:11 +00:00
danno@chromium.org
63f033576c Fix performance regressions due to lazy initialization.
This CL:
- Adds a new trait parameter to LazyInstance to let it initialize the instance
  without paying the cost of atomic operations (which are expensive on Mac).
  This only works for users who don't care about thread-safety and this is now
the default initialization trait used by LazyInstance in v8.

- Reverts the changes that were made in r11010 in isolate.{cc,h}. That lets
  Isolate's accessors be as cheap as they were before (but adds one static initializer).

- Adds OS::PostSetup() used to initialize the math functions which depend on CPU features.
That lets the math functions get rid of CallOnce().

BUG=118686

Review URL: https://chromiumcodereview.appspot.com/9873023
Patch from Philippe Liard <pliard@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-30 14:30:46 +00:00
jkummerow@chromium.org
429407d594 Un-bork v8.gyp after r11010
TEST=no more warning "Missing input file tools\gyp\..\..\src\src\list-inl.h"

Review URL: https://chromiumcodereview.appspot.com/9924006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-29 14:01:21 +00:00
danno@chromium.org
c12a9ed6f0 Allow a commit message to be specified to merge-to-branch.sh
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9844015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-29 07:01:36 +00:00
danno@chromium.org
924b567382 Support reverse patching in merge-to-branch.sh
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9839056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-26 11:35:17 +00:00
danno@chromium.org
754264325f Allow a patch file to be specified to merge-to-branch.sh
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9835048

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-23 11:54:07 +00:00
jkummerow@chromium.org
c0ec8a64be push-to-trunk.sh: Don't send Chromium CLs to the commit queue immediately
Review URL: https://chromiumcodereview.appspot.com/9835047

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-23 10:22:45 +00:00
jkummerow@chromium.org
0bbe8c4fae Fix FLAG_always_opt and tools/push-to-trunk.sh
TEST=tests with --always-opt don't ASSERT; push to trunk workflow works.

Review URL: https://chromiumcodereview.appspot.com/9718035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 10:16:38 +00:00
danno@chromium.org
0ed593df56 Fix bugs in tools/merge-to-branch.sh
Fail if patches fail to apply and correctly match branches in delete_branch().

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9701102

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 16:04:01 +00:00
mstarzinger@chromium.org
32c481b698 Fix test harness to not break on aborts.
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9706100

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 14:33:55 +00:00
mstarzinger@chromium.org
1f8a901141 Fix passing of shard options in test wrapper.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9702022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 14:52:52 +00:00
yangguo@chromium.org
26659b13c8 Fix test.py for Python 2.7.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9695053
Patch from Bert Belder <bertbelder@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 17:19:24 +00:00
jkummerow@chromium.org
a63d1211d3 Fix "already merging" safety check in merge-to-branch.sh
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9689062

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 15:57:31 +00:00
jkummerow@chromium.org
ea175d6635 Fix DEPS file patching in push-to-trunk.sh
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9693037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 11:01:28 +00:00
fschneider@chromium.org
1f7d42efc9 Landing for pliard@chromium.org: Remove static initializers in v8.
This change includes two CLs by pliard@chromium.org:

1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation):

Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted).

This CL was initially reviewed on codereview.appspot.com:
http://codereview.appspot.com/5687064/



2.  http://codereview.chromium.org/9455088/ (Remove static initializers in v8):
This CL depends on CL 9447052 (adding CallOnce and LazyInstance).
It is based on a patch sent by Digit.

With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL. 

This CL also modifies the presubmit script to check the number of static initializers.


BUG=v8:1859
Review URL: https://chromiumcodereview.appspot.com/9666052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-12 13:56:56 +00:00
jkummerow@chromium.org
a737ff5cd2 Add explicit dependency on v8_base
This is necessary in order to link v8_shell (for host) with the Android
toolchain.

Without it, the line in the makefile is:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_snapshot.a $(obj).host/v8/tools/gyp/libv8_base.a

Now it appears as:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_base.a $(obj).host/v8/tools/gyp/libv8_snapshot.a

and it successfully links.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9668013
Patch from Yaron Friedman <yfriedman@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-12 10:35:50 +00:00
vegorov@chromium.org
9ad61f635e Add Code-related fields to postmortem metadata
Review URL: https://chromiumcodereview.appspot.com/9361008
Patch from David Pacheco <dap@joyent.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-09 12:34:42 +00:00
ulan@chromium.org
1767fef60b Implement date library functions in C++.
Developed together with Andreas Rossberg based on:
  https://chromiumcodereview.appspot.com/9117034/
  https://chromiumcodereview.appspot.com/9307083/

R=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9572008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-09 12:07:29 +00:00
jkummerow@chromium.org
6dd05d9b34 Refactored push-to-trunk.sh and merge-to-branch.sh.
Moved common code into tools/common-includes.sh.
Added automated rolling of V8 into Chromium to push-to-trunk.sh.

Review URL: https://chromiumcodereview.appspot.com/9463041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-09 10:16:00 +00:00
rossberg@chromium.org
dbb95bc5f0 Fix minifier to distinguish regexps from divisions (to some extent).
Rrraaa, I have to say, doing program rewriting via regexp rules is an inherently broken idea...

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9644001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-08 16:38:44 +00:00
rossberg@chromium.org
448b620dad Basic interface inference for modules.
All module expressions, and all variables that might refer to modules,
are assigned interfaces (module types) that are resolved using
unification. This is necessary to deal with the highly recursive
nature of ES6 modules, which does not allow any kind of bottom-up
strategy for resolving module names and paths.

Error messages are rudimental right now. Probably need to track
more information to make them nicer.

R=svenpanne@chromium.org
BUG=v8:1569
TEST=

Review URL: https://chromiumcodereview.appspot.com/9615009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-08 13:03:07 +00:00
mstarzinger@chromium.org
b732b2e32a Implement --download-data for test harness.
This allows the test harness to download missing test suite data if
necessary. We use the bzip2 archive for test262 because it is faster
than cloning the repository and also works without any Mercurial
installation.

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9619002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-07 12:51:31 +00:00
yangguo@chromium.org
3a457381d7 Update test262 expectations concerning 64-bit precision double.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9540010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-01 11:37:10 +00:00
fschneider@chromium.org
d1172448ad Make HashMap a template class to specify the allocation policy.
The old HashMap class had an explicit member to determine the allocation
policy. The template version matches the approach used already for
lists.

Cleanup some include dependencies and unnecessary forward declarations.

Cleanup some dead code from isolate.h and replace some HEAP macros
with GetHeap().
Review URL: https://chromiumcodereview.appspot.com/9372106

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 09:12:57 +00:00
vegorov@chromium.org
9e87728572 In gcmole assume that methods exiting VM can cause GC.
Detect those methods by reference to StateTag::EXTERNAL in their bodies.

R=fschneider@google.com

Review URL: https://chromiumcodereview.appspot.com/9420046

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 11:34:50 +00:00
yangguo@chromium.org
941d884af4 MIPS: Enabled mips in tools/disasm.py.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9307118
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-15 08:18:06 +00:00
yangguo@chromium.org
80326e08e0 Add --call-graph-size option to tickprocessor.
BUG=v8:1937

Review URL: https://chromiumcodereview.appspot.com/9386007
Patch from Ben Noordhuis <info@bnoordhuis.nl>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 10:07:57 +00:00
fschneider@chromium.org
f833c4031b Increase timeout when running test.py with the --stress-opt option.
Review URL: https://chromiumcodereview.appspot.com/9361033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 08:47:18 +00:00
jkummerow@chromium.org
32e4451a4d Bash completion for d8: fix directory name completion
TEST="out/ia32.release/d8 te<tab>" gets completed to "test/" with trailing slash

Review URL: https://chromiumcodereview.appspot.com/9363025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 17:20:35 +00:00
yangguo@chromium.org
ea949e84cd Add filename completion to d8's bash completion.
Review URL: https://chromiumcodereview.appspot.com/9346017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 12:40:48 +00:00
jkummerow@chromium.org
c142bc4c1c Bash completion for d8 flags
Review URL: https://chromiumcodereview.appspot.com/9307122

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 15:06:24 +00:00
vegorov@chromium.org
a297d3f9af Optionally export metadata with libv8 to enable debuggers to inspect V8 state.
Review URL: https://chromiumcodereview.appspot.com/8803024
Patch from David Pacheco <dap@joyent.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-02 20:18:19 +00:00
danno@chromium.org
4f56fb5a87 merge-to-branch.sh should correctly handle added/deleted files
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9315055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-02 13:51:05 +00:00
jkummerow@chromium.org
e952765ea0 Adding new marker for targets that rely on static library dependencies
traversing none type targets. In preparation for a gyp change to the default
behavior.

BUG=None
TEST=None
R=ager@chromium.org

Review URL: https://chromiumcodereview.appspot.com/7616013
Patch from Brad Nelson <bradnelson@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-01 15:31:57 +00:00
danno@chromium.org
a59b2a96fa Add a script to automatically merge patches to a branch
Review URL: https://chromiumcodereview.appspot.com/9298012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-31 11:17:17 +00:00
danno@chromium.org
2120206520 MIPS: added --mips-arch-variant option to test.py.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9270005
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 12:37:59 +00:00
rossberg@chromium.org
1a10995a9d Fix JS2C, so that macros with multiple parameters actually WORK.
R=svenpanne@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9146035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 14:29:02 +00:00
yangguo@chromium.org
11e779185b Parallelize cpplint in presubmit and fix usage of DISALLOW_* macros.
BUG=v8:1653

Review URL: https://chromiumcodereview.appspot.com/9192010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 16:17:08 +00:00
yangguo@chromium.org
89591097aa Fix solaris build (VirtualMemory).
BUG=v8:1761
TEST=

Review URL: https://chromiumcodereview.appspot.com/9233002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 15:43:38 +00:00
yangguo@chromium.org
daf1020f13 Skip disassembling ld.so.cache in ll_prof.py.
Review URL: http://codereview.chromium.org/9205002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-13 10:23:19 +00:00
svenpanne@chromium.org
6997dbe13e Fixed AccessorPair handling
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 16:12:16 +00:00
mstarzinger@chromium.org
dfb18ce094 Fix several minor issues with grokdump.py tool.
This includes the following changes:
* Bring instance type mapping up to date.
* Enable loading of maps without available meta-map.
* Add missing IntSize() method.
* Fix reference to Code.CODE_ALIGNMENT_MASK.
* Add alignment checks for objects and maps.

R=vegorov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 14:28:45 +00:00
yangguo@chromium.org
5253363cc2 Add netbsd support to gyp build.
Review URL: http://codereview.chromium.org/9071004
Patch from Matthew Sporleder <msporleder@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 12:17:08 +00:00
vegorov@chromium.org
49acd1843b Fix typo in tools/grokdump.py. Stack pointer on x86 is esp not rbp.
R=fschneider@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-02 09:46:47 +00:00
ricow@chromium.org
857e89f5b3 Enable max optimization for v8 in chromium.
First attempt to do this failed, we need per target flags.
Review URL: http://codereview.chromium.org/9018013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-22 06:33:32 +00:00
vegorov@chromium.org
7a93464ca0 Add X64 minidumps support to tools/grokdump.py
R=erik.corry@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 12:13:34 +00:00
vegorov@chromium.org
0be49927fb Align tools/gc-nvp-trace-processor.py with --trace-gc-nvp output.
R=erik.corry@gmail.com
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 09:41:28 +00:00
yangguo@chromium.org
42a85ce584 Enable mips in the test wrapper for gyp.
Review URL: http://codereview.chromium.org/8919002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-12 08:19:30 +00:00
jkummerow@chromium.org
67c3cc41e2 Upstream Android V8 change.
Fix the Mac build. "_toolset" needs to be tested inside target_conditions now.

And there is no need to have -llog any more.

Review URL: http://codereview.chromium.org/8631012
Patch from Jing Zhao <jingzhao@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-23 17:32:34 +00:00
yangguo@chromium.org
20786b32a2 Adding NetBSD support for scons build.
BUG=v8:1678

Review URL: http://codereview.chromium.org/8513012
Patch from Matthew Sporleder <msporleder@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-16 14:35:47 +00:00