C++ Logo

sg14

Advanced search

Re: [SG14] Apr 8th Sg14 monthly call agenda

From: Michael Wong <fraggamuffin_at_[hidden]>
Date: Wed, 8 Apr 2020 15:59:40 -0400
On Wed, Apr 8, 2020 at 11:55 AM Michael Wong <fraggamuffin_at_[hidden]> wrote:

> Topic: SG14 Low Latency Monthly. Hi all, I have turned on high security
> for this call in light of recent events.
>
> Hi,
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG14 monthly Apr 2020-Oct 2020
> Time: Apr 8, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: May 13, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: June 10, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Jul 8, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Aug 12, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Sep 9, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Oct 14, 2020 02:00 PM Eastern Time (US and Canada)
>
> Join from PC, Mac, Linux, iOS or Android:
> https://iso.zoom.us/j/819108882?pwd=L0pPZm5QRWlTYXdJditvU1JLdjFYUT09
> Password: 013549
>
> Or iPhone one-tap :
> US: +13462487799,,819108882# or +14086380968,,819108882#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current
> location):
> US: +1 346 248 7799 or +1 408 638 0968 or +1 646 876 9923 or +1
> 669 900 6833 or +1 253 215 8782 or +1 301 715 8592 or +1 312 626 6799
> or 877 853 5247 (Toll Free)
> Meeting ID: 819 108 882
> Password: 013549
> International numbers available: https://iso.zoom.us/u/abhaIjFKLZ
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/819108882
>
>
>
> Agenda:
>
> 1. Opening and introductions
>
> 1.1 Roll call of participants
>
Derek Haines
Henry Miller
James renwick
Andrews Weis
Antony Peacock
ben Craig, Ben Saks
BillyBaker
Connor Horman
Max Gardner
Patrice Roy
Paul Bendien
Sophia Poirier
Staffan Tjernstrom
Steven Varga
Jens Maurer
Inbal Levi
Michael Wong
Dan Raviv?
Charles Bay
Matthew Butler







1.2 Adopt agenda
>
Approve.

> 1.3 Approve minutes from previous meeting, and approve publishing
> previously approved minutes to ISOCPP.org
>
Approve.

>
> 1.4 Action items from previous meetings
>
> 2. Main issues (125 min)
>
> 2.1 General logistics
>
> Prague summary
>
> Mailing deadline is monthly on 15th
>
> All meetings going online.
>
> 2.2 Paper reviews
>
>
> Low-cost Deterministic C++ Exceptions for Embedded Systems
> <https://www.research.ed.ac.uk/portal/files/78829292/low_cost_deterministic_C_exceptions_for_embedded_systems.pdf> Low-cost
> Deterministic C++ Exceptions for Embedded Systems James Renwick James
> Renwick et al.
>
 BC: passing an address, so you can indirect jmp instead of return?
leave optimzation off for now, what it this just look like normal code

when propagating exception up the call stack, just do a return
BC: regular processor, branch cost is small, but on gpu divergign control
throws is high, throwing an exception on gpu is already expensive
for gpu instead of terminate might do a HW specific thing
CH: too many banches will cross bank boundaries;
Even with a nave implementaion, we can see n times better

ST: precompield external libraries 1K allocated for stack and with only 256
bytes from the stack, what happens? Right we dont deal with dynamic library
yet, but it doesnt make teh exception object unique, and nothing is unique
on the exception object here
DLL and static libraries crossing boundary may be UB here or an ODR
violation

JM: table reduction does not match waht you said about text increase
maching?
because unwind library is gone

BC: version of clang?
clang 6

CH:on function size vs binary size;
should the catch block, which can be called out to another function,

buffer on where to put EH object and it falls back to the heap, so this
can do the same thing
need to inject parameter, which could thow., need to distinguisj C and C++
function so need throw specifier added, abi change
or pass by TLS

a C language linkage, dont inject, standards says thata fn pointer inside a
structure,
type of ptr
extern C allowed to throw, so we can detect what linkage a fn has
C adapting deterministic exception
we just need implmentation with a compielr flag
parameter injection will be an abi break

exception_ptr was intended to allow copying to support bot hreference
counting heap allocated as is eager copy implementations

you know the size because you call the copy constructor and not just memcpy
it
resolve copy construction when you write the throw expression so you know
the size of the xception object
but if pass exception ptr through to another functions object, that could
take a dynamic size,
if you can pass exception ptr around, can assign it to global variable,
stack space does not matter, you have a life time problem; so it has to be
on the heap to solve this
so if eh object lives on stack, cant touch the heap, the nwe have a
problem; yes you can outlive, so copy an exception ptr object stackframe,
then for these reasons
exception_ptr is aimed at heap implementation
so we propose similar that is agnostic, encapsulate exception object, call
get_current exception, then you are responsible for this object, no
reference count, so you move it around

cross noexcept bounday with an exception ptr, want to pass exeption through
noexcept boundary without passing exception object as parameter for the
rethrowing case

want std exception ptr that has shared ownership and unique ownership of
the exception object

no language or library changes in this paper
its an implementation report
should we advise exception ptr is toxic

Paul: claims is standard conformant, leaves out what noexcept specifier mean

Ben: it would no changes, there are proposal would be changing stuff
substantially, address cost benefit analysis of those papers

some of the mitigation: adding noexcept blocks to mark large parts as
noexcept, change the calling convention to make it so a prebuilt C library
can work with this

PB: C assert is verymuch a hint of adoption

Exception_ptr: can we ban it in free_standing, or use Rust send

exception_ptr on the heap is fine, problem is when you move it, it is
nolonger available in the catch block, if you copy exception its fine as
implementation only allow move only objects

if it is moved onto the heap, then its a problem, but OK if you copy from
stack to heap

open the github (limited form)and form a group and tthen come back to
discuss bridfing mechanism

please reply to this thread if inetersted in joining this Exception Handing
for Embedded implementation group.

P2057r0
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2057r0.pdf> SG14
> SG19 Past, Present and Future status Michael Wong Michael Wong et al.
>
>
PB: numeric proposal an ommission?Yes please add

> 2.2.1 any other proposal for reviews?
>
MW: Interested in Networking RPC proposal? Yes
ST: Error handling compendium?

> 2.3 Domain-specific discussions
>
> 2.3.1 SIG chairs
>
> - Embedded Programming chairs: Ben Craig, Wouter van Ooijen and Odin
> Holmes, John McFarlane
> <
>
> http://wiki.edg.com/bin/edit/Wg21belfast/McFarlane?topicparent=Wg21belfast.SG14CPPCON2019-09-17;nowysiwyg=1>
>
>
> - Financial/Trading chairs: Stephan TJ, Carl Cooke, Neal Horlock,
> Mateusz Pusz, Clay Trychta,
> - Games chairs: Rene Riviera, Guy Davidson and Paul Hampson
> - Linear Algebra chairs: Bob Steagall, Mark Hoemmen, Guy Davidson
>
> 2.4 Other Papers and proposals
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> - 2020-11: (New York, tentative)
> - 2021-02-22 to 27: Kona, HI, USA
>
> 3. Any other business
> Reflector
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
> As well as look through papers marked "SG14" in recent standards committee
> paper mailings:
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2015/
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2016/
>
> Code and proposal Staging area
> https://github.com/WG21-SG14/SG14
> 4. Review
>
> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
> working draft]
>
> 4.2 Review action items (5 min)
>
> 5. Closing process
>
> 5.1 Establish next agenda
>
> 5.2 Future meeting
>
> Time: May 13, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: June 10, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Jul 8, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Aug 12, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Sep 9, 2020 02:00 PM Eastern Time (US and Canada)
>
> Time: Oct 14, 2020 02:00 PM Eastern Time (US and Canada)
>

Received on 2020-04-08 15:02:51