[Mono-dev] Why Create OutOfMemoryException will cause some data of sgen_cardtable be masked
xiaozhu
niluzhou1984 at foxmail.com
Wed May 9 07:41:05 UTC 2018
hi,all I'm doing some research of sgen_cardtable of the embeded mono.
And find that ,after the mono_jit_init_version call , some bytes of sgen_cardtable is aready setted.
Some of the call in mono_jit_init_version will call sgen_card_table_wbarrier_set_field to change some bytes of sgen_cardtable.
But there is one exception that change the memory of sgen_cardtable without call any of the sgen_cardtable method.
That exception is the invoke of the Constructor of System.OutOfMemoryException.
The Call Chain is
1.mono_jit_init_version
2.mini_init
3.mono_runtime_init_checked
4.create_domain_objects
5.mono_exception_from_name_two_strings_checked
6.create_exception_two_strings
7.mono_runtime_invoke_checked
I have tested the newest stable release of mono,The result is the same.
The Quesition is :
Why call the ctor of System.OutOfMemoryException will cause some byte of sgen_cardtable be setted without call any method
of sgen_cardtable.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dot.net/pipermail/mono-devel-list/attachments/20180509/eafc2b3f/attachment.html>
More information about the Mono-devel-list
mailing list