Skip to content
This repository was archived by the owner on Nov 1, 2020. It is now read-only.

Enable precise GC on Unix#3310

Merged
jkotas merged 3 commits intodotnet:masterfrom
sergiy-k:enableprecisegc
Apr 26, 2017
Merged

Enable precise GC on Unix#3310
jkotas merged 3 commits intodotnet:masterfrom
sergiy-k:enableprecisegc

Conversation

@sergiy-k
Copy link
Contributor

All Simple tests that we have in CoreRT are passing now (with the included changes) but let's see what issues will be uncovered by much more thorough CI tests.

@sergiy-k
Copy link
Contributor Author

@dotnet-bot help

free_stack 8

pop_register r10 // discard RIP
pop_register r10 // discarp RBP
Copy link
Member

Choose a reason for hiding this comment

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

I think this needs to be changed to pop_register rbp so that we restore the caller RBP. Windows version does that too.


.macro POP_COOP_PINVOKE_FRAME
// stack alignment
free_stack 8
Copy link
Member

Choose a reason for hiding this comment

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

A nit - we can save an instruction here if we merged the free_stack with the discarding of RIP and use free_stack 16 with an appropriate comment.

@sergiy-k sergiy-k changed the title [WIP] Enable precise GC Enable precise GC on Unix Apr 25, 2017
Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

extern "C" void RhpShutdown();

#if defined(CPPCODEGEN) || defined(PLATFORM_UNIX)
#if defined(CPPCODEGEN)
Copy link
Member

Choose a reason for hiding this comment

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

Nit: I would remove the ifdef around RhpEnableConservativeStackReporting here. There is no harm in defining it unconditionally.

return -1;

#if defined(CPPCODEGEN) || defined(PLATFORM_UNIX)
#if defined(CPPCODEGEN)
Copy link
Member

Choose a reason for hiding this comment

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

Nit: I would keep RhpEnableConservativeStackReporting undef its own #ifdef / #endif so it is a one line change to turn on RhpEnableConservativeStackReporting for ad-hoc experiments.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

OK. Will do. I was about this myself because it would make the code look slightly better.

@sergiy-k
Copy link
Contributor Author

There were some infra related issues in CI.
@dotnet-bot test this please

@jkotas jkotas merged commit e84f0fe into dotnet:master Apr 26, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants