-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite CThunk so it does not execute from ram #8488
Conversation
@SenRamakri - Please review |
@c1728p9 - Overall the changes look good to me, I just dropped some questions for clarifications though. |
490de25
to
666e6e7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Just 1 style suggestion.
platform/CThunk.h
Outdated
|
||
static void trampoline(CThunkBase *base) | ||
{ | ||
CThunk<T> *self = (CThunk<T>*)base; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
static_cast
? Such an intricate set of code, an assurance that it's a "straightforward" cast would be welcome.
/morph build |
Build : SUCCESSBuild number : 3553 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 3163 |
Test : SUCCESSBuild number : 3335 |
Modify the implementation of CThunk so it does not execute from ram. Instead is uses an array of functions in flash which can be allocated as a thunk. The number of CThunks that can be used by an application can be configured with MBED_CONF_PLATFORM_CTHUNK_COUNT_MAX.
666e6e7
to
5a87276
Compare
@c1728p9 what has changed in the latest rebase? |
@0xc0170 I just changed the cast to a static_cast as @kjbracey-arm suggested. |
/morph build |
Build : SUCCESSBuild number : 3564 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 3171 |
Test : FAILUREBuild number : 3344 |
/morph test |
Test : SUCCESSBuild number : 3349 |
Description
Modify the implementation of CThunk so it does not execute from ram. Instead is uses an array of functions in flash which can be allocated as a thunk. The number of CThunks that can be used by an application can be configured with MBED_CONF_PLATFORM_CTHUNK_COUNT_MAX.
Pull request type