kernel/x86_64: help gcc with devirtualization
This patch gets rid of some indirect calls in the paging code.
This commit is contained in:
parent
fb010e297f
commit
b20eb413cd
@ -25,7 +25,7 @@ class X86PhysicalPageMapper;
|
||||
struct vm_page_reservation;
|
||||
|
||||
|
||||
class X86PagingMethod64Bit : public X86PagingMethod {
|
||||
class X86PagingMethod64Bit final : public X86PagingMethod {
|
||||
public:
|
||||
X86PagingMethod64Bit();
|
||||
virtual ~X86PagingMethod64Bit();
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "paging/X86PagingStructures.h"
|
||||
|
||||
|
||||
struct X86PagingStructures64Bit : X86PagingStructures {
|
||||
struct X86PagingStructures64Bit final : X86PagingStructures {
|
||||
X86PagingStructures64Bit();
|
||||
virtual ~X86PagingStructures64Bit();
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
struct X86PagingStructures64Bit;
|
||||
|
||||
|
||||
struct X86VMTranslationMap64Bit : X86VMTranslationMap {
|
||||
struct X86VMTranslationMap64Bit final : X86VMTranslationMap {
|
||||
X86VMTranslationMap64Bit();
|
||||
virtual ~X86VMTranslationMap64Bit();
|
||||
|
||||
|
@ -9,6 +9,11 @@
|
||||
#include <vm/VMTranslationMap.h>
|
||||
|
||||
|
||||
#if __GNUC__ < 4
|
||||
#define final
|
||||
#endif
|
||||
|
||||
|
||||
#define PAGE_INVALIDATE_CACHE_SIZE 64
|
||||
|
||||
|
||||
@ -22,12 +27,12 @@ struct X86VMTranslationMap : VMTranslationMap {
|
||||
|
||||
status_t Init(bool kernel);
|
||||
|
||||
virtual bool Lock();
|
||||
virtual void Unlock();
|
||||
virtual bool Lock() final;
|
||||
virtual void Unlock() final;
|
||||
|
||||
virtual addr_t MappedSize() const;
|
||||
virtual addr_t MappedSize() const final;
|
||||
|
||||
virtual void Flush();
|
||||
virtual void Flush() final;
|
||||
|
||||
virtual X86PagingStructures* PagingStructures() const = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user