3 ms·
Indirect branches are common in many OO languages because calling object.method(arg) essentially does object.class.method(object, arg) or object.prototype.metho
by fulafel 3y ago
Indirect branches are common in many OO languages because calling object.method(arg) essentially does object.class.method(object, arg) or object.prototype.method(object, arg) - the address of method is loaded indirectly through the object's "class" field as it may be inherited or not.
(In some cases the compiler may statically know the class of an object, if it's not allowing for subclassing and a potentially overridden method)