From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 7BB82800BE for ; Fri, 6 Jan 2017 09:11:05 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=christoph.hoeger@tu-berlin.de; spf=None smtp.mailfrom=christoph.hoeger@tu-berlin.de; spf=None smtp.helo=postmaster@mail.tu-berlin.de Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of christoph.hoeger@tu-berlin.de) identity=pra; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="christoph.hoeger@tu-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of christoph.hoeger@tu-berlin.de) identity=mailfrom; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="christoph.hoeger@tu-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail.tu-berlin.de) identity=helo; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="postmaster@mail.tu-berlin.de"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3ARE+lixGjxI6oZCNoeHCR7Z1GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ76rsSwAkXT6L1XgUPTWs2DsrQf2raQ6firADVQqdbZ6TZZL8wKD0dEwe?= =?us-ascii?q?wt3CUeQ+e9QXXhK/DrayFoVO9jb3RCu0+BDE5OBczlbEfTqHDhpRQbGxH4KBYn?= =?us-ascii?q?br+tQt2a3IyL0LW58pjXKxhTiSCmKed5JRCy6AHQrdU+gI14K693xAGf8VVSfO?= =?us-ascii?q?ED7mNyJEmPmA780ecu85N5u3Bbu+gg7NJHSaW8f6M1QrFCJCg7dmo4/snqs1/P?= =?us-ascii?q?QF3ctTMnTmwKn08QUED+5xbgU8Kpvw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0APAQA5UG9YhyEHlYJeHQEFAQsBGAEFA?= =?us-ascii?q?QsBgw4BAQEBAYIKjVepa4IJh3E/FAEBAQEBAQEBAQEBEgEBAQgNCQodMIIzGIJ?= =?us-ascii?q?HgTMCXw0GAgEBiGwEn3CQAYIlij0PiEeCX4QygmIMLoJeBZsUgUuCG4F+lgSGO?= =?us-ascii?q?pJQH4F1hCMMVIFrcoYqgjwBAQE?= X-IPAS-Result: =?us-ascii?q?A0APAQA5UG9YhyEHlYJeHQEFAQsBGAEFAQsBgw4BAQEBAYI?= =?us-ascii?q?KjVepa4IJh3E/FAEBAQEBAQEBAQEBEgEBAQgNCQodMIIzGIJHgTMCXw0GAgEBi?= =?us-ascii?q?GwEn3CQAYIlij0PiEeCX4QygmIMLoJeBZsUgUuCG4F+lgSGOpJQH4F1hCMMVIF?= =?us-ascii?q?rcoYqgjwBAQE?= X-IronPort-AV: E=Sophos;i="5.33,323,1477954800"; d="asc'?scan'208";a="253120355" Received: from mail.tu-berlin.de ([130.149.7.33]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jan 2017 09:11:01 +0100 X-tubIT-Incoming-IP: 91.66.22.179 Received: from ip5b4216b3.dynamic.kabel-deutschland.de ([91.66.22.179] helo=[192.168.178.42]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-7) with esmtpa for id 1cPPc3-0004PC-2g; Fri, 06 Jan 2017 09:11:00 +0100 To: caml users From: =?UTF-8?Q?Christoph_H=c3=b6ger?= Organization: =?UTF-8?Q?Technische_Universit=c3=a4t_Berlin?= Message-ID: <28b00f9b-d36c-b710-ade1-f250ad4f7c5e@tu-berlin.de> Date: Fri, 6 Jan 2017 09:10:59 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="GmNdH0fqqtMIFxoGeTIcNO75TiQEQ96to" X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2017.1.6.80016 X-PMX-Spam: Gauge=IIIIIII, Probability=0%, Report='' Subject: [Caml-list] Reason for static data in caml runtime This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --GmNdH0fqqtMIFxoGeTIcNO75TiQEQ96to Content-Type: multipart/mixed; boundary="KMUAf9vhL6EiLSmRNNuNFaB5EEx9nKWPh"; protected-headers="v1" From: =?UTF-8?Q?Christoph_H=c3=b6ger?= To: caml users Message-ID: <28b00f9b-d36c-b710-ade1-f250ad4f7c5e@tu-berlin.de> Subject: Reason for static data in caml runtime --KMUAf9vhL6EiLSmRNNuNFaB5EEx9nKWPh Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Dear all, after investigating the interaction of native code and the runtime environment (in particular the GC), I am puzzled about the static storage of some data (e.g. the young_pointer, global roots etc): * if I am not mistaken, each function obtains the young pointer in a register (%rax on x86) * the same value is stored globally in a variable allocated by the executable * several other variables are allocated that way I wonder why this is necessary. If the generated code uses one register anyway, why not put a pointer to the necessary global data structures in there as well? (say, in the first element of the minor heap). I am probably missing something here, but at first glance this strategy prevents concurrent ocaml execution in one process and at the same time it seems to be fixable, right? thanks for any comments, Christoph --=20 Christoph H=C3=B6ger Technische Universit=C3=A4t Berlin Fakult=C3=A4t IV - Elektrotechnik und Informatik =C3=9Cbersetzerbau und Programmiersprachen Sekr. TEL12-2, Ernst-Reuter-Platz 7, 10587 Berlin Tel.: +49 (30) 314-24890 E-Mail: christoph.hoeger@tu-berlin.de --KMUAf9vhL6EiLSmRNNuNFaB5EEx9nKWPh-- --GmNdH0fqqtMIFxoGeTIcNO75TiQEQ96to Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlhvURMACgkQhMBO4cVSGS/SZwCeKl+7IDhOgUYTNPVo4xUZR82P XtQAn2BMbixBzQ1fxi+5Qx4noDo/T822 =r9i3 -----END PGP SIGNATURE----- --GmNdH0fqqtMIFxoGeTIcNO75TiQEQ96to--