In the unfolded protein response, the type I transmembrane protein Ire1 transmits an endoplasmic reticulum (ER) stress signal to the cytoplasm. We previously reported that under nonstressed conditions, the ER chaperone BiP binds and represses Ire1. It is still unclear how this event contributes to the overall regulation of Ire1. The present Ire1 mutation study shows that the luminal domain possesses two subregions that seem indispensable for activity. The BiP-binding site was assigned not to these subregions, but to a region neighboring the transmembrane domain. Phenotypic comparison of several Ire1 mutants carrying deletions in the indispensable subregions suggests these subregions are responsible for multiple events that are prerequisites for activation of the overall Ire1 proteins. Unexpectedly, deletion of the BiP-binding site rendered Ire1 unaltered in ER stress inducibility, but hypersensitive to ethanol and high temperature. We conclude that in the ER stress-sensory system BiP is not the principal determinant of Ire1 activity, but an adjustor for sensitivity to various stresses.
In the case of "this pointer adjustor thunk", 2 different entries exist for a single QueryInterface() method, in other words, 2 different interface pointers could be used to invoke the QueryInterface() method, but the compiler only generate 1 copy of QueryInterface() method. So if one of the interfaces is chosen by the compiler as the this pointer, we need to adjust the other to the chosen one. This is what the this adjustor thunk is born for.
BTW-1, what if the compiler can generate 2 different instances of QueryInterface() method? Each one based on the corresponding interface pointer. This won't need the adjustor thunk, but it would take more space to store the extra but similar code.
Taking away the COM part from the question, the this pointer adjustor thunk is a piece of code that makes sure that each function gets a this pointer pointing to the subobject of the concrete type. The issue comes up with multiple inheritance, where the base and derived objects are not aligned.
We can use the virtual method call mechanism to get to the actual (dynamic type) of the object exposed by an (interface) base class. How it is done is implementation specific including such concepts like the Virtual Method Table and "adjustor thunks". Generally compiler may use its initial 'this' pointer to locate the VMT and then the actual implementation of a given function and call it with eventual adjustment of the 'this' pointer. The thunk adjustment generally is needed to perform the final call if the memory layout of the base class is different than a derived one to which reference we hold like in the case of multiple inheritance.
Want to use your NFL fandom to help EA with their NFL player ratings for Madden NFL? As part of the NFL 100th season celebration, the NFL has teamed up with league partner EA to give one lucky fan the chance to become an EA Sports Madden NFL ratings adjustor for the day as well as be digitized to appear in the Madden NFL game. "Madden Ratings Adjustor" is part of #NFL100 Experiences of a Lifetime, a fan-focused series of extraordinary experiences that celebrates the spirit of the NFL's "Fantennial" celebration during this milestone season. "More than a centennial celebration of league history, NFL100 shines a spotlight on how football has grown and thrived through the power of our fans which we call our 'Fantennial', said Pete Abitante, Vice President of Special Events, NFL. "Madden has become an important cultural touchstone around the NFL and this #NFL100 Experiences of a Lifetime will present a unique and special opportunity for one lucky fan."
"We are excited to celebrate alongside the NFL in their centennial season by honoring the extraordinary passion we see from our Madden fans," said Clint Oldenburg, Madden Ratings Adjustor, EA Sports. "The EA Sports Madden NFL ratings adjustors have become a coveted position here at headquarters and to share that experience with NFL fans is truly something special." 041b061a72