C++ Logo

sg14

Advanced search

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

From: Paul M. Bendixen <paulbendixen_at_[hidden]>
Date: Thu, 9 Apr 2020 11:54:52 +0200
Minor nit:
My name is BendiXen, but maybe you used all the xs for variables ;-)

My comment regarding cassert was to say that having different rules for
embedded and the rest of C++ was a hindrance to adoption ( e.g. using
libraries)

Best
Paul Bendixen


tor. 9. apr. 2020 11.04 skrev Guy Cpp via SG14 <sg14_at_[hidden]>:

> Please add me to the attendee list; I turned up a little late.
>
> Cheers,
> G
>
> On Wed, 8 Apr 2020 at 21:00, Michael Wong via SG14 <sg14_at_[hidden]>
> wrote:
>
>>
>>
>> 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)
>>>
>> _______________________________________________
>> SG14 mailing list
>> SG14_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>>
> _______________________________________________
> SG14 mailing list
> SG14_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>

Received on 2020-04-09 04:58:00