7.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
7.26 Embedded assembler support in the compiler
7.29 Restrictions on embedded assembly language functions in C and C++ code
7.36 __mcall_is_virtual(D, f)
7.37 __mcall_is_in_vbase(D, f)
7.38 __mcall_offsetof_vbase(D, f)
7.39 __mcall_this_offset(D, f)
7.40 __vcall_offsetof_vfunc(D, f)
7.41 Calling nonstatic member functions in embedded assembler
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.