Skip to content

Conversation

@leirocks
Copy link
Contributor

clear the function table for loop body entrypoint case.
when debugger attaching the code address is not freed through normal path hence clearing the xdata in main thread. this is done for function entrypoint in last change but missed loop body case. also make sure of the integrity of clearing function table in the slist.

clear the function table for loop body entrypoing case when debugger attaching, this is done for function entrypoint in last change but missed loop body case.
also make sure of the integrity of clearing function table in the slist.
@leirocks leirocks requested a review from curtisman February 10, 2018 01:37
@leirocks
Copy link
Contributor Author

@dotnet-bot test OSX static_osx_osx_debug please

{
// in case of debugger attaching, we have a new code generator and when deleting old code generator,
// the xData is not put in the delay list yet. clear the list now so the code addresses are ready to reuse
DelayDeletingFunctionTable::Clear();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would happen on every loop body cleanup?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For debugger attaching only

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As in, it only happens once during debugger attach, or when a debugger attaches, we would call DelayDeletingFunctionTable::Clear for every loop header cleanup?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can change to that, but basically the same, since it deleting same amount of function table. Currently didn’t use side channel in background thread for debugger attatching(like scriptcontext closing case), can change to that if we worry about hanging for debugger attatching

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot I just added lock for Clear, so Changing to clearing together can save the locking code, let me change to that

Copy link
Contributor

@curtisman curtisman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@chakrabot chakrabot merged commit 20a20ab into chakra-core:release/1.8 Feb 12, 2018
chakrabot pushed a commit that referenced this pull request Feb 12, 2018
…body cleanup

Merge pull request #4666 from leirocks:xdata1

 clear the function table for loop body entrypoint case.
when debugger attaching the code address is not freed through normal path hence clearing the xdata in main thread. this is done for function entrypoint in last change but missed loop body case. also make sure of the integrity of clearing function table in the slist.
chakrabot pushed a commit that referenced this pull request Feb 12, 2018
… for loop body cleanup

Merge pull request #4666 from leirocks:xdata1

 clear the function table for loop body entrypoint case.
when debugger attaching the code address is not freed through normal path hence clearing the xdata in main thread. this is done for function entrypoint in last change but missed loop body case. also make sure of the integrity of clearing function table in the slist.
chakrabot pushed a commit that referenced this pull request Feb 12, 2018
…able clearing for loop body cleanup

Merge pull request #4666 from leirocks:xdata1

 clear the function table for loop body entrypoint case.
when debugger attaching the code address is not freed through normal path hence clearing the xdata in main thread. this is done for function entrypoint in last change but missed loop body case. also make sure of the integrity of clearing function table in the slist.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants