Siva Annamalai
e9bd78fa8e
Fix build break, set initial value for msan variable.
...
R=zra@google.com
Review URL: https://codereview.chromium.org/2388813003 .
2016-10-03 12:45:45 -07:00
Zachary Anderson
fa9922d420
Fix standalone VM build for Android for tcmalloc.
...
Review URL: https://codereview.chromium.org/2347823005 .
2016-09-16 16:05:54 -07:00
Zachary Anderson
44a04f18f9
Use tcmalloc on Linux
...
Statically linking in the tcmalloc code is enough
to override the built-in malloc. I have this set up to
exclude the code for collecting heap profiles in a
Product build. There's still about a 230KB increase in
binary size, though. I think this isn't a big problem
since right now this is enabled only for server Linux.
product binary size:
before x64: 9569600
after x64: 9807840
increase: 238240 (2.5%)
before ia32: 9122836
after ia32: 9360944
increase: 238108 (2.6%)
before mips: 9418680
after mips: 9640940
increase: 222260 (2.4%)
InitialRSS:
product:
before x64: 6307840
after x64: 7430144
increase: 1122304 (17.8%)
release (--no-profiler)
before x64: 7843840
after x64: 9207808
increase: 1363968 (17.4%)
R=asiva@google.com , whesse@google.com
Review URL: https://codereview.chromium.org/2316813002 .
2016-09-16 08:24:54 -07:00
Zachary Anderson
82062f1d95
DBC: Add Android Product build
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org/2303383002 .
2016-09-02 11:01:51 -07:00
Zachary Anderson
a274332ed7
Remove Fuchsia build from the gyp build
...
This isn't used anymore. The build happens in the Fuchsia tree using GN.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2194223002 .
2016-08-01 12:38:11 -07:00
Siva Annamalai
2ababdc976
Enable function level linking in product mode for windows so that dead code is eliminated and there are no references to code which is not in product mode.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2134883002 .
2016-07-08 14:32:24 -07:00
Zachary Anderson
a503570e3a
Fuchsia: Initial check-in.
...
Instructions to build and run are in README.fuchsia.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2117593002 .
2016-07-01 12:42:05 -07:00
Zach Anderson
44796ed02d
Move Windows build output from //build to //out
...
This is needed in order to begin migration to GN because
third-party dependencies and GN boilerplate expect GN
boilerplate to be in //build.
R=asiva@google.com , whesse@google.com
Review URL: https://codereview.chromium.org/2027063003 .
2016-06-03 08:28:48 -07:00
Ryan Macnak
227927a8bb
Make Android gyp flags more like Linux gyp flags. Fix cases of -Wconversion-null.
...
R=zra@google.com
Review URL: https://codereview.chromium.org/2018723002 .
2016-05-26 14:56:24 -07:00
Vyacheslav Egorov
43dc5c223d
Introduce a new ARMSIMDBC configuration.
...
This allows us to build dart binary with SIMDBC for non-Android ARM devices.
We are going to use it to measure performance.
BUG=http://dartbug.com/26421
R=zra@google.com
Review URL: https://codereview.chromium.org/1967613002 .
2016-05-10 20:06:54 +02:00
Zachary Anderson
78de302495
Fix DBC product build
...
fixes #26415
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1945183006 .
2016-05-05 15:57:16 -07:00
Zachary Anderson
3d7202bad3
DBC: Adds simdbc64 target, adds arm64 arithmetic overflow logic
...
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.
This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:
$ ./tools/build.py -m release -a simdbc{64} --os=android runtime
R=iposva@google.com
Review URL: https://codereview.chromium.org/1904153003 .
2016-04-25 12:48:34 -07:00
Vyacheslav Egorov
cb63245a4c
Fix GYP configurations on Mac and Windows after DBC patch.
...
R=srdjan@google.com
BUG=
Review URL: https://codereview.chromium.org/1895223003 .
2016-04-19 00:07:04 +02:00
Vyacheslav Egorov
ee0f608ce4
Dart Byte Code interpreter.
...
This version is Clang/GCC only and does not support Windows because it uses computed goto's.
Only unoptimized mode is supported.
Architecture is described in constants_dbc.h and stack_frame_dbc.h.
R=fschneider@google.com , zra@google.com
Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Zachary Anderson
a87fca4d0a
Remove unused gyp variable
...
Review URL: https://codereview.chromium.org/1825233002 .
2016-03-22 14:31:54 -07:00
Zachary Anderson
27f5c1f81c
Don't compile in root certs on Android.
...
This works by using SSL_CTX_load_verify_locations in
SecurityContext._trustBuiltinRoots() to specify
/system/etc/security/cacerts as the certificate directory.
This saves about 240KB from a stripped ProductAndroidARM build.
This has the drawback that SSL_do_handshake will synchronously
hit the filesystem looking for root certs during its trust evaluation.
We call SSL_do_handshake directly from the Dart thread so that Dart
code can be invoked from the "bad certificate" callback called by
SSL_do_handshake. If there was no need to support this callback,
it would be easier to move the handshake to the IOService thread, and
thus remove the compiled-in certs without the need for blocking IO
on the Dart thread.
R=whesse@google.com
Review URL: https://codereview.chromium.org/1811583003 .
2016-03-22 09:30:04 -07:00
Zach Anderson
893a60df2f
Bump mac_sdk to 10.8
...
BUG=
Review URL: https://codereview.chromium.org/1820903004 .
2016-03-21 19:47:04 -07:00
Ivan Posva
b41ffe0bb2
- Switch default Mac deployment target to 10.7.
...
BUG=
Review URL: https://codereview.chromium.org/1819813004 .
2016-03-21 18:00:27 -07:00
Zachary Anderson
7a2512540a
Build for Android x64
...
This change adds standalone VM build targets for x64 Android.
Build with, e.g.:
./tools/build.py -m debug -a x64 --os=android runtime
R=iposva@google.com
Review URL: https://codereview.chromium.org/1762043002 .
2016-03-03 14:04:52 -08:00
Ivan Posva
f28d46161b
Fix ARM cross build:
...
- Don't try to pass '-mno-omit-leaf-frame-pointer' to the C++
compiler on any platform for now.
BUG=
Review URL: https://codereview.chromium.org/1666063002 .
2016-02-03 21:38:49 -08:00
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