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;
|
struct vm_page_reservation;
|
||||||
|
|
||||||
|
|
||||||
class X86PagingMethod64Bit : public X86PagingMethod {
|
class X86PagingMethod64Bit final : public X86PagingMethod {
|
||||||
public:
|
public:
|
||||||
X86PagingMethod64Bit();
|
X86PagingMethod64Bit();
|
||||||
virtual ~X86PagingMethod64Bit();
|
virtual ~X86PagingMethod64Bit();
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "paging/X86PagingStructures.h"
|
#include "paging/X86PagingStructures.h"
|
||||||
|
|
||||||
|
|
||||||
struct X86PagingStructures64Bit : X86PagingStructures {
|
struct X86PagingStructures64Bit final : X86PagingStructures {
|
||||||
X86PagingStructures64Bit();
|
X86PagingStructures64Bit();
|
||||||
virtual ~X86PagingStructures64Bit();
|
virtual ~X86PagingStructures64Bit();
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
struct X86PagingStructures64Bit;
|
struct X86PagingStructures64Bit;
|
||||||
|
|
||||||
|
|
||||||
struct X86VMTranslationMap64Bit : X86VMTranslationMap {
|
struct X86VMTranslationMap64Bit final : X86VMTranslationMap {
|
||||||
X86VMTranslationMap64Bit();
|
X86VMTranslationMap64Bit();
|
||||||
virtual ~X86VMTranslationMap64Bit();
|
virtual ~X86VMTranslationMap64Bit();
|
||||||
|
|
||||||
|
@ -9,6 +9,11 @@
|
|||||||
#include <vm/VMTranslationMap.h>
|
#include <vm/VMTranslationMap.h>
|
||||||
|
|
||||||
|
|
||||||
|
#if __GNUC__ < 4
|
||||||
|
#define final
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define PAGE_INVALIDATE_CACHE_SIZE 64
|
#define PAGE_INVALIDATE_CACHE_SIZE 64
|
||||||
|
|
||||||
|
|
||||||
@ -22,12 +27,12 @@ struct X86VMTranslationMap : VMTranslationMap {
|
|||||||
|
|
||||||
status_t Init(bool kernel);
|
status_t Init(bool kernel);
|
||||||
|
|
||||||
virtual bool Lock();
|
virtual bool Lock() final;
|
||||||
virtual void Unlock();
|
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;
|
virtual X86PagingStructures* PagingStructures() const = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user