C++ Logo

SG14

Advanced search

Subject: Re: Apr 8th Sg14 monthly call agenda
From: Ben Craig (ben.craig_at_[hidden])
Date: 2020-04-09 08:39:06


Github user ben-craig. Sign me up

From: SG14 <sg14-bounces_at_[hidden]> On Behalf Of Paul M. Bendixen via SG14
Sent: Thursday, April 9, 2020 4:55 AM
To: sg14_at_[hidden]
Cc: Paul M. Bendixen <paulbendixen_at_[hidden]>
Subject: [EXTERNAL] Re: [SG14] Apr 8th Sg14 monthly call agenda

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]<mailto: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]<mailto:sg14_at_[hidden]>> wrote:


On Wed, Apr 8, 2020 at 11:55 AM Michael Wong <fraggamuffin_at_[hidden]<mailto: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://urldefense.com/v3/__https:/www.research.ed.ac.uk/portal/files/78829292/low_cost_deterministic_C_exceptions_for_embedded_systems.pdf__;!!FbZ0ZwI3Qg!5IDP-p-EEaQOMZrPdy1JsDOZnYyfcsWdkQDHhPfaWbyPCUKSIM-19ZpJwLHg$>
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<https://urldefense.com/v3/__http:/www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2057r0.pdf__;!!FbZ0ZwI3Qg!5IDP-p-EEaQOMZrPdy1JsDOZnYyfcsWdkQDHhPfaWbyPCUKSIM-19V9euEDT$>
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-p-EEaQOMZrPdy1JsDOZnYyfcsWdkQDHhPfaWbyPCUKSIM-19TigatDr$>>

   - 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]<mailto:SG14_at_[hidden]>
https://lists.isocpp.org/mailman/listinfo.cgi/sg14$>
_______________________________________________
SG14 mailing list
SG14_at_[hidden]<mailto:SG14_at_[hidden]>
https://lists.isocpp.org/mailman/listinfo.cgi/sg14$>



SG14 list run by sg14-owner@lists.isocpp.org

Older Archives on Google Groups