Commit Graph

35 Commits

Author SHA1 Message Date
danno@chromium.org
a1383e2250 Land the Fan (disabled)
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/426233002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
dusan.milosavljevic@imgtec.com
e0401f3f71 MIPS64: Add support for architecture revision 6.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/426863006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 18:02:26 +00:00
danno@chromium.org
1273155b74 Activate SSE2 for all Visual Studio builds
BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/424763002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 14:31:12 +00:00
rmcilroy@chromium.org
fb3128f3f8 Really fix the arm builder bots by copying android_webview_build out one scope in toolchain.gypi
Move android_webview_build variable to toolchain.gypi to fix arm builders.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/398643006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:36:40 +00:00
rmcilroy@chromium.org
d09d81f977 Move android_webview_build variable to toolchain.gypi to fix arm builders.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/392033005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:54:33 +00:00
rmcilroy@chromium.org
9d5bd59204 Fix the android_webview build's gyp files after the changes in r22444.
The android_webview get's it's compiler flags from the Android build system,
so we should not be setting these flags in gyp when building the webview.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/399413002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:17:01 +00:00
rmcilroy@chromium.org
e6936f2145 Reland "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
The current gyp config tries to test whether the compiler is an arm / mips
compiler and whether it supports -m32 / -m64 based on a test within gyp.
Unfortunately CXX / CXX_target / CXX_host are no no longer set early enough
in gyp for this to work, and so all of these tests were actually being done
using "$(which g++)" rather than the appropriate CXX_target / CXX_host compiler.

This change removes these dynamic tests and instead bases the decisions on
knowledge of the host / target / v8_target architecture combination.  The
the -m32/-m64 flags are set based on host_cxx_is_biarch / target_cxx_is_biarch,
which are set to reasonable defaults of only ia32/x64 or clang compilers
being build for biarch support.  The host_cxx_is_biarch / target_cxx_is_biarch
variables can be overriden if required.

Original Review URL: https://codereview.chromium.org/382343003
TBR=jkummerow@chromium.org

BUG=384474
LOG=NO

Review URL: https://codereview.chromium.org/400573002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:56:58 +00:00
rmcilroy@chromium.org
c9087a715a Revert "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
This reverts commit r22425 for breaking the Arm debug builder.

BUG=384474
TBR=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/393273002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:53:32 +00:00
rmcilroy@chromium.org
83bb0f1001 Remove erroneous uses of CXX / CXX_target / CXX_host from gyp.
The current gyp config tries to test whether the compiler is an arm / mips
compiler and whether it supports -m32 / -m64 based on a test within gyp.
Unfortunately CXX / CXX_target / CXX_host are no no longer set early enough
in gyp for this to work, and so all of these tests were actually being done
using "$(which g++)" rather than the appropriate CXX_target / CXX_host compiler.

This change removes these dynamic tests and instead bases the decisions on
knowledge of the host / target / v8_target architecture combination.  The
the -m32/-m64 flags are set based on host_cxx_is_biarch / target_cxx_is_biarch,
which are set to reasonable defaults of only ia32/x64 or clang compilers
being build for biarch support.  The host_cxx_is_biarch / target_cxx_is_biarch
variables can be overriden if required.

BUG=384474
LOG=NO
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/382343003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:20:37 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06 Add mips64 port.
Summary:

- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.

- On mips64 simulator all tests pass from all test units.

- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.

- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*

TEST=
BUG=
R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org

Review URL: https://codereview.chromium.org/371923006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
haitao.feng@intel.com
5970d4fa10 Add X32 port into V8
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/18014003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 05:27:44 +00:00
rmcilroy@chromium.org
7f429e62c3 [Arm]: Simplify compile-time Arm feature detection.
Simplify the compile time feature detection on Arm:
 - Define CAN_USE_XXX definitions unconditionally for all target/host
   toolchain combinations
 - Rename arm_test / ARM_TEST to arm_test_noprob / ARM_TEST_NO_FEATURE_PROBE
 - Don't set ARM_TEST_NO_FEATURE_PROBE implicitly on the simulator to make
   make simulator / native more consistent
 - Unify CpuFeatures::PrintTarget for simulator and native builds
 - Remove unecessary CAN_USE_VFP_INSTRUCTIONS definition for android (this is
   the default for arm_fpu=default)
 - Add a CpuFeatures::Probe() before calling CpuFeatures::PrintFeatures() in PrintHelp
    to ensure we have probed features before printing them.

BUG=384474
LOG=N
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/340373002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 12:19:54 +00:00
weiliang.lin@intel.com
2f04631d9e X87: use more suitable build flag
BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/305643005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:39:44 +00:00
danno@chromium.org
9c485e182b Introduce x87 port
Support x87-only platform (ia32 without SSE)

R=danno@chromium.org

Review URL: https://codereview.chromium.org/293743005

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00
m.m.capewell@googlemail.com
2bdd088cde ARM: update defaults for flags
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

Review URL: https://codereview.chromium.org/264593002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:25:32 +00:00
plind44@gmail.com
5a016958c6 MIPS: Add big-endian support for MIPS.
Important notices:

- The snapshot cannot be created for big-endian target in cross-compilation
  environment on little-endian host using simulator.

- In order to have i18n support working on big-endian target, the icudt46b.dat and
  icudt46b_dat.S files should be generated and upstreamed to ICU repo.

- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.

- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
  use of typed arrays.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

Review URL: https://codereview.chromium.org/228943009

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 16:39:21 +00:00
jochen@chromium.org
d426cd1012 Use abstract configurations to switch between opt debug settings
The problem is that conditions are evaluated before configuration inheritance is resolved, so we can't just define a configuration like this:

'Optdebug': {
  'inherits_from': ['Debug'],
  'variables': {
    'v8_optimized_debug': 2,
  }
}

Instead, we have to put the different settings depending on the optimization level into separate configurations, and use conditions inside the concrete configurations to inherit from the correct base class.

Common settings go in the base configuration DebugBaseCommon, and v8_optimized_debug dependent settings go into DebugBase{0,1,2}

The new Debug configuration inherits from DebugBaseCommon and DebugBase<(v8_optimized_debug), while the new configuration Optdebug inherits from DebugBaseCommon and DebugBase2.

BUG=v8:3252
R=machenbach@chromium.org, jkummerow@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/224443003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 09:54:49 +00:00
jkummerow@chromium.org
9e54d6175a Fix "make arm asan=$CLANG"
Bonus cleanup: remove a few duplicate compiler flags

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/220883003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:53:07 +00:00
rmcilroy@chromium.org
75e4fa300c Modify toolchain.gypi to avoid adding -m64 flag on android.
The -m64 flag isn't supported on Android.  Add a similar gyp condition to avoid
setting the flag on Android in a similar manner to how the -m32 flag is avoided
on android.

BUG=354405
LOG=N
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/212863007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 18:23:34 +00:00
jochen@chromium.org
2ce0bebba1 Rename A64 port to ARM64 port
BUG=354405
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=y

Review URL: https://codereview.chromium.org/207823003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
jochen@chromium.org
9fccfc37c8 Prepare switch from a64 to arm64
BUG=354405
R=machenbach@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/207793002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:47:03 +00:00
ulan@chromium.org
e95bc7eec8 Merge experimental/a64 to bleeding_edge.
BUG=v8:3113
LOG=Y
R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com

Review URL: https://codereview.chromium.org/148293020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
jochen@chromium.org
3a954aa52d Introduce a setting to control the toolset for which d8 is compiled
BUG=v8:1775
R=machenbach@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/138273016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 09:11:22 +00:00
bmeurer@chromium.org
0899da3697 Add support for the QNX operating system.
This patch contains contributions from the following members of the
BlackBerry Web Technologies team:

Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>

R=bmeurer@chromium.org, jkummerow@chromium.org

Review URL: https://codereview.chromium.org/61153009

Patch from Cosmin Truta <ctruta@blackberry.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 07:04:05 +00:00
jkummerow@chromium.org
7967a195c7 Switch armv7 setting to arm_version==7 in v8 gyp files
BUG=chromium:234135
LOG=Y
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/98543008

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 11:58:07 +00:00
jkummerow@chromium.org
ec9a9ac103 Fix broken pipe caused by commands in toolchain.gypi.
I sometimes observe broken pipe errors when I run gyp, which causes the gyp
process to fail. This seems to happen if gyp is executed under heavy I/O
pressure.

This change removes the pipes by replacing "echo |" with "< /dev/null".
Technically these are not the same, because "echo |" prints a newline while
"< /dev/null" doesn't, but this difference is not significant in the context of
the commands in toolchain.gypi.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/73623002

Patch from Yuta Kitamura <yutak@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:32:30 +00:00
danno@chromium.org
7339d45a9f Define DEBUG for v8_optimized_debug=2
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).

R=jkummerow@chromium.org, mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/39183004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:10:28 +00:00
jkummerow@chromium.org
74bf8b8f70 Move v8_optimized_debug default value to standalone.gypi
This is so that Chromium can have its own overridable default value without colliding with ours.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/26317009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:07:41 +00:00
jkummerow@chromium.org
31691477b7 Avoid -O3 in nacl as it does not play well with -W.
Also cleans up some uninitialized data I saw while investigating
the problem.

R=jkummerow@chromium.org, machenbach@chromium.org

Review URL: https://codereview.chromium.org/23119004

Patch from Ken Mixter <kmixter@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-20 08:12:19 +00:00
machenbach@chromium.org
a37040b275 Make optimized debug builds link against debug CRT.
We recently had some XP issues on chromium.win after https://codereview.chromium.org/19384011/.

This might fix it - quote: "The most likely cause of the problem is a gyp (or similar) change that resulted in v8.dll linking against the release version of the crt (for a debug build). There are two MS VC related files: the crt and the c++ std lib (MSVCR100.DLL and MSVCP100D.DLL). The former is set to release, the latter to debug."

I am not entirely sure if this change fits to the linker options for debug level 2.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/21776002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 10:59:23 +00:00
machenbach@chromium.org
5666c32d0b Revert windows-specific part of r15937 for debug level 1.
The change in r15937 might have broken a mozilla test under windows. See https://codereview.chromium.org/19384011/

Each case of debug 0,1,2 is now stated explicitly for better clarity in the msvs section. This causes some minor code duplications, which we can squeeze again after toolchain.gypi is in a stable state.

R=dpranke@chromium.org, jkummerow@chromium.org

Review URL: https://codereview.chromium.org/21495002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 07:58:23 +00:00
dslomov@chromium.org
d0e0ff01ad Revamp v8_optimized_debug options
This patch changes the definition of v8_optimized_debug==1 to match the release-mode compiler optimization settings (generally, going from -O1 to -O3 on Linux, similar switches for Mac/Win). This produces a minor speed up on Linux, but significant speedups on Mac and Win. This may make it much harder to debug, though.

It also adds a v8_optimized_debug==2 that, in addition to the compiler optimizations, undef's DEBUG and defines DEBUG. This leaves V8_ENABLE_CHECKS alone (so that the assertions are still enabled), but otherwise basically matches a release mode build.

Builds with v8_optimized_debug==2 roughly match a Release mode build for speed; the V8_ENABLE_CHECKS checks appear to have minimal performance impact (maybe 5-10%, unlike what was previously thought). In addition, switching from the previous optimization settings makes a significant improvement on Mac and Win (50% or more), and switching from DEBUG to NDEBUG makes a significant improvement (another 50% or more).

Note that using v8_optimized_debug==2 may also cause some v8 tests to fail. This is currently is believed to be acceptable.

R=machenbach@chromium.org
BUG=254188

Review URL: https://codereview.chromium.org/19384011

Patch from Dirk Pranke <dpranke@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 14:00:06 +00:00
machenbach@chromium.org
1d1b846778 Suppress array bounds check for nacl build.
The NaCl and the ARM builder started failing to compile at revision 15593 with spurious array bounds warnings.

The ARM builder will be fixed by updating the cross-compiler version. Since the nacl compiler comes with the nacl toolchain, the warning will be suppressed for that builder.

See also: http://gcc.gnu.org/bugzilla/buglist.cgi?quicksearch=array%20subscript%20is%20above%20array%20bounds

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/19009003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 16:21:17 +00:00
machenbach@chromium.org
dfd955ff9f Enable debug builds with some optimizations turned on.
A new gyp variable 'v8_full_debug' can be set to 0 in order to turn on optimization level 1 for debug builds. With the default (=1), it builds in debug mode like before.

The intention is to run some bots on the waterfall with this configuration. Tests have a x5 speed-up like that.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/18516012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 15:21:43 +00:00
jochen@chromium.org
865ce5806f Factor out toolset definitions in a separate gypi file
That way, third-party libraries use the correct toolset settings.

BUG=v8:2745
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/18846002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 11:15:16 +00:00