Ivan Posva
9c0c6cb5c2
Add product mode:
...
- Add PRODUCT define and build mode to gyp configurations.
- Add product mode to test harness.
- Start to unify list of flags.
- Allow flags to be constant for particular build configurations.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1663863002 .
2016-02-03 21:10:30 -08:00
Zachary Anderson
80f358dede
Adds targets for simarmv6 and armv6
...
related #25562
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1624593002 .
2016-01-22 13:07:48 -08:00
Ryan Macnak
08f443f540
Address clang warning regarding incorrect flag attempting to force non-executable stacks.
...
Cf. 6d018b8ce3
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1498983002 .
2015-12-04 09:58:53 -08:00
Ryan Macnak
a984188def
Remove dead functions at link time on Mac.
...
ReleaseX64 stripped
dart_precompiled 10.5MB -> 8.4MB (-20%)
dart 12.1MB -> 11.5MB (-5%)
R=iposva@google.com
Review URL: https://codereview.chromium.org/1471063003 .
2015-11-23 14:57:40 -08:00
Florian Schneider
64e71a0b2e
VM: Make more globals constant where easily possible.
...
Remove -fdata-section again from the Linux build configuration: It prevented
some optimizations in gcc and clang - fewer things were recognized as constants.
Add const to pointers/arrays in some places to help compilers with determining
what is a constant. A common pattern is strlen of a string literal const char*,
or an array of function pointers.
Tested with gcc 4.8.4 / clang 3.4 and improves code qualtiy + reduces binary size.
BUG=
R=iposva@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/1462953002 .
2015-11-20 10:52:07 +01:00
Florian Schneider
f0a35b3260
VM: Add dart_precompiled build target, a standalone VM without the JIT compiler.
...
This removes most of the compiler-related code from dart_precompiled:
x64 stripped binary size 13M -> 9.1M
ARM stripped binary size 12M -> 8.3M
The precompiled build defines the DART_PRECOMPILED macro. This
stubs out the public interface to the compiler/parser with empty
function bodies.
Use gcc options -ffunction-sections and --gc-sections to make the linker remove
unused functions/symbols.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1459443002 .
2015-11-19 10:13:16 +01:00
Florian Schneider
9f54259d57
VM: Fix FP math discrepancies by adding -mfpmath=sse to 32-bit simulator and cross host builds.
...
BUG=dartbug.com/24517
R=zra@google.com
Review URL: https://codereview.chromium.org/1395543003 .
2015-10-08 17:16:46 +02:00
William Hesse
c04db16af6
Fix typo in >= operator.
...
BUG=
TBR=kevmoo
Review URL: https://codereview.chromium.org//1359813002 .
2015-09-22 14:49:03 +02:00
Kevin Moore
6012e9070d
SDK gyp: support Xcode V7
...
R=whesse@google.com
Review URL: https://codereview.chromium.org//1343393004 .
2015-09-22 14:21:20 +02:00
Ryan Macnak
6d018b8ce3
Force non-executable stack and enable stack canaries.
...
BUG=http://b/22479195
R=asiva@google.com
Review URL: https://codereview.chromium.org//1238003002 .
2015-07-16 16:05:02 -07:00
Ryan Macnak
248f216887
"The "now" option forces the linker to resolve all dynamic symbols at program start time and the "relro" option marks the Global Offset Table (GOT) as read-only. Together, these options prevent attacks that try to overwrite libc function pointers in the GOT."
...
BUG=http://b/22479195
R=asiva@google.com
Review URL: https://codereview.chromium.org//1236933004 .
2015-07-16 09:39:45 -07:00
Ryan Macnak
d09e04eff8
Enable Fortify Source functions.
...
BUG=http://b/22479195
R=asiva@google.com
Review URL: https://codereview.chromium.org//1223263007 .
2015-07-15 15:53:11 -07:00
Ryan Macnak
3d190ddd2d
Pass -EL for MIPS cross builds to allow for using a bi-endian toolchain and work around CXXFLAGS being passed to both host and target.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//1184873002 .
2015-06-12 14:02:27 -07:00
koda@google.com
2c4dfb60c8
Don't attempt to walk the native stack by default.
...
This was unintentially enabled by default as a consequence of
https://codereview.chromium.org/1104323003/
BUG=23368
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1130253005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45666 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 22:34:17 +00:00
johnmccutchan@google.com
3490490ac2
Fix android cross compile
...
BUG=
Review URL: https://codereview.chromium.org//1109303002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45445 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-29 00:08:14 +00:00
johnmccutchan@google.com
464f3bb957
Change default value of c_frame_pointers
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1116553002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45443 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 23:28:39 +00:00
zra@google.com
86bfd7cb30
Adds a simarmv5te build and test target.
...
Also:
- Removes command line flags to choose simulated arm version.
I think we should use build targets instead, like in this change,
to make building and testing more obvious.
- Skips pkg tests on all simulators.
R=regis@google.com , ricow@google.com
Review URL: https://codereview.chromium.org//1077823002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45181 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 20:44:43 +00:00
zra@google.com
34044a4ca8
Adds armv5 build and test target.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//1043263002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44828 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 23:11:33 +00:00
zra@google.com
84f66405b1
Fixes for updated third_party/android_tools.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//863173003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43152 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 20:59:03 +00:00
zra@google.com
210085919e
Allows arm cpu feature detection to detect arm64 cpus.
...
This is probalby of limited utility since we have an
arm64 port, but it could be interesting for performance
experiments, etc.
R=regis@google.com
Review URL: https://codereview.chromium.org//602943002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40678 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-25 14:37:57 +00:00
kevmoo@google.com
1b1534967c
Fix mac build for XCode v6.0
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//594243003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40616 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-23 23:27:04 +00:00
whesse@google.com
e0c621e9fc
Avoid undefined variable in gyp files.
...
BUG=
R=ricow@google.com
Review URL: https://codereview.chromium.org//584813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40490 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 08:35:58 +00:00
whesse@google.com
8280a3a09f
Set the minimum supported version of Mac OS X when building Dart.
...
BUG=
R=iposva@google.com , ricow@google.com
Review URL: https://codereview.chromium.org//579223003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40488 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 08:01:13 +00:00
zra@google.com
ec1140b188
Adds support for building arm64 Android.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//539573003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39844 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 23:31:51 +00:00
johnmccutchan@google.com
3d0a6d019a
Address comments on c_frame_pointers CL
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//431263002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38990 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 15:52:47 +00:00
johnmccutchan@google.com
ae9b2a9dd5
Add build configuration variable 'c_frame_pointers' to control whether or not frame pointers are included and which stack walker the profiler uses.
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//414303004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38711 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 22:48:57 +00:00
johnmccutchan@google.com
e679327ef9
Explicitly omit frame pointers for XCode builds
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//424213003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38699 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 21:19:17 +00:00
johnmccutchan@google.com
7f8adad6e8
Disable frame pointers
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//407293002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38512 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 16:13:53 +00:00
zra@google.com
9e6655f810
Fixes Android build by using C++ math header instead of C one.
...
This change also requires prefacing the math calls with
std::, i.e. isinf -> std::isinf.
R=asiva@google.com , koda@google.com
Review URL: https://codereview.chromium.org//353403004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37839 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 22:15:26 +00:00
vegorov@google.com
2e497ee3fe
Work around the crash in GYP's ninja generator on Windows.
...
BUG=
R=whesse@google.com
Review URL: https://codereview.chromium.org//335523003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37269 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 13:34:22 +00:00
vegorov@google.com
d30ecd3fcd
Fix Win64 build of Dart VM.
...
1. Build script tools/build.py now actually builds X64 target when x64
is passed as an architecture:
- GYP files set 'msvs_configuration_platform': 'x64' for Win_x64
configuration;
- NSS related files are fixed to have correct set of defines for ia32
and x64 builds and include right files. A os_windows.c file added to
work-around inability to have different sets of source files per
configuration. Originally this was controlled through target_arch GYP
define and required regeneration of the solution.
- build.py passes Win32 or x64 platform to devenv as part of build
configuration argument;
2. Dart VM now supports Win64 ABI. ABI description is moved into a
separate class CallingConventions in constants_x64.h.
BUG=http://dartbug.com/7792
R=iposva@google.com , ricow@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//317773002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37078 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 12:14:15 +00:00
zra@google.com
9c73009ff9
Prepares for arm64 cross-build.
...
With this change, the cross-build succeeds with the Linaro arm64 toolchain.
R=regis@google.com
Review URL: https://codereview.chromium.org//303443010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36698 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 18:05:20 +00:00
zra@google.com
0c562fdd16
For arm, chooses hard vs. soft fp ABI based on compiler.
...
We have been hard-coding hardfp in the gyp file. This makes
using softfp hard. This change detects hardfp by looking at
a predefined gcc macro, and otherwise uses softfp. This
change also adds a flag to simarm so that we can test softfp.
R=regis@google.com
Review URL: https://codereview.chromium.org//298533002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36337 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 23:13:25 +00:00
srdjan@google.com
e51a243e52
Add SSE2 compilation mode ofr Linux ia32.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//236193003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35001 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-12 00:29:54 +00:00
zra@google.com
783cb5a615
Fix runhooks on mac and win.
...
TBR.
Review URL: https://codereview.chromium.org//222613002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34655 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:50:44 +00:00
zra@google.com
2fe51715e5
Begins work on ARM64, first assembler test.
...
Most new code is in constants_arm64.h and
{assembler,disassembler,simulator}_arm64.{h,cc}
The rest of the CL just #def's out tests, modifies status files,
and adds UNIMPLEMENTED functions, etc.
R=regis@google.com
Review URL: https://codereview.chromium.org//221133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34654 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:39:32 +00:00
iposva@google.com
d20121e855
- Enable automatic cross-builds across ARM and MIPS architectures.
...
R=ricow@google.com
Review URL: https://codereview.chromium.org//192543002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33482 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-10 12:00:06 +00:00
iposva@google.com
d2055b487a
- Start to distinguish between cross-build and native build environments.
...
- Create configurations for both on MIPS builds.
Review URL: https://codereview.chromium.org//189093012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33446 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 20:10:09 +00:00
zra@google.com
7c91e88e6e
Adds support for ARMv6.
...
When we detect ARMv6, instead of using movw and
movt, this change loads each individual byte.
Although this is not the best way to achieve this,
a modification to store large constants in the
object pool would be more invasive. Further,
this change will be easier to back-out once
ARMv6 is obsolete.
R=regis@google.com
Review URL: https://codereview.chromium.org//183803024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33442 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 19:17:36 +00:00
iposva@google.com
781f737c6a
First round of http://dartbug.com/15922 :
...
- Address warnings about 64-bit to 32-bit conversions.
- Remove heap profiler.
R=asiva@google.com
Review URL: https://codereview.chromium.org//139043003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31867 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-16 05:05:35 +00:00
zra@google.com
3508d336dd
Simplifies standalone VM Android build.
...
This change also avoids the need to
do another 'gclient runhooks' when switching
between Android and Linux builds, and between
IA32 and ARM Android builds.
gyp does not allow 'libraries' sections inside of
configurations. Therefore, since some architecture
specific paths, libraries, etc. must be specified
on the Android NDK's linker command line, to avoid
re-gyping when switching between Android IA32 and ARM,
this change moves the architecture specific linker
flags to a script, android_link.py.
To avoid re-gyping when swtiching between Linux and
Android, this change creates new configurations
that specify the target OS as well as the the target
architecture, e.g. ReleaseLinuxARM or ReleaseAndroidARM
instead of ReleaseARM.
This change also adds a --toolchain flag to build.py,
and removes obsoleted logic for setting up the Android
build.
R=iposva@google.com
Review URL: https://codereview.chromium.org//105223002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31340 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 17:51:34 +00:00
johnmccutchan@google.com
dc217a8aa0
Fix crash walking call stack on Linux.
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//116703003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31192 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 16:48:55 +00:00
johnmccutchan@google.com
eb99334209
Attempt at enabling profiler
...
BUG=
Review URL: https://codereview.chromium.org//78713003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30478 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-20 17:57:56 +00:00
johnmccutchan@google.com
31989f3b4d
Post landing fixes
...
TBR
Review URL: https://codereview.chromium.org//65983005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30420 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 19:11:41 +00:00
johnmccutchan@google.com
97ac18aee9
Sampling profiler
...
BUG=4350
R=asiva@google.com
Review URL: https://codereview.chromium.org//25909002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30419 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 18:26:10 +00:00
zra@google.com
df1e5247fe
Adds support for ARM softfp calling convention.
...
The cross-compiler with the Android NDK doesn't support
the 'hard' calling convention, so we need both. I've
added a preprocessor define to the gyp file for the
standalone vm indicating support for 'hard' so that I
don't have to modify the Dartium gyp files.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//52803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29577 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-30 18:57:55 +00:00
kustermann@google.com
34654bff3d
standalone.deps: Change gyp generation to make "./tools/build.py runtime" work
...
R=iposva@google.com , ricow@google.com
Review URL: https://codereview.chromium.org//26212004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28929 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-21 12:33:39 +00:00
kevmoo@j832.com
784099d155
fix for XCode 5
...
also fixes 'Unknown Xcode Version' code path
BUG= https://code.google.com/p/dart/issues/detail?id=13492
R=kustermann@google.com
Review URL: https://codereview.chromium.org//23757062
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27752 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 11:08:12 +00:00
zra@google.com
e155ff8c53
Revert last commit
...
Review URL: https://codereview.chromium.org//23889034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27507 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 23:36:32 +00:00
zra@google.com
a61d0c66b0
Allows build of the standalone VM for ARM adroid.
...
R=iposva@google.com , vsm@google.com
Review URL: https://codereview.chromium.org//23788009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27506 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 23:29:14 +00:00