6.35 Compiler-supported keywords for calling class member functions in embedded assembler

The following embedded assembler built-ins facilitate the calling of virtual and nonvirtual member functions from an __asm function.

Those beginning with __mcall can be used for both virtual and nonvirtual functions. Those beginning with __vcall can be used only with virtual functions. They do not particularly help in calling static member functions.
  • __mcall_is_virtual(D, f).
  • __mcall_is_in_vbase(D, f).
  • __mcall_offsetof_vbase(D, f).
  • __mcall_this_offset(D, f).
  • __vcall_offsetof_vfunc(D, f).
Related concepts
6.26 Embedded assembler support in the compiler
6.29 Restrictions on embedded assembly language functions in C and C++ code
6.36 __mcall_is_virtual(D, f)
6.37 __mcall_is_in_vbase(D, f)
6.38 __mcall_offsetof_vbase(D, f)
6.39 __mcall_this_offset(D, f)
6.40 __vcall_offsetof_vfunc(D, f)
6.41 Calling nonstatic member functions in embedded assembler
Non-ConfidentialPDF file icon PDF versionARM DUI0375E
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.