6.39 __mcall_this_offset(D, f)

Returns the offset from the beginning of a D object to the start of the base in which f is defined.

This is the this adjustment necessary when making a call to f with a pointer to a D. It is either zero if f is found in D or the same as __offsetof_base(D,B), where B is a nonvirtual base class of D that contains f.
Where D is a class type and f is a nonstatic member function defined in D or a nonvirtual base class of D.
If __mcall_this_offset(D,f) is used when f is found in a virtual base class of D it returns an arbitrary value designed to cause an assembly error if used. This is so that such invalid uses of __mcall_this_offset can occur in sections of assembly code that are to be skipped.
Related concepts
6.35 Compiler-supported keywords for calling class member functions in embedded assembler
6.42 Calling a nonvirtual member function
6.43 Calling a virtual member function
Non-ConfidentialPDF file icon PDF versionARM DUI0375E
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.