Github user ben-craig.  Sign me up

 

From: SG14 <sg14-bounces@lists.isocpp.org> On Behalf Of Paul M. Bendixen via SG14
Sent: Thursday, April 9, 2020 4:55 AM
To: sg14@lists.isocpp.org
Cc: Paul M. Bendixen <paulbendixen@gmail.com>
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@lists.isocpp.org>:

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@lists.isocpp.org> wrote:

 

 

On Wed, Apr 8, 2020 at 11:55 AM Michael Wong <fraggamuffin@gmail.com> 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

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

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@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/sg14

_______________________________________________
SG14 mailing list
SG14@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/sg14