[haiku-commits] haiku: hrev47283 - in src/system/kernel/arch/x86/paging/64bit: . src/system/kernel/arch/x86/paging

  • From: pdziepak@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 30 May 2014 02:15:58 +0200 (CEST)

hrev47283 adds 1 changeset to branch 'master'
old head: fb010e297f7581a6c8e27defd53775ff481a7f78
new head: b20eb413cd5afe7d879235b4553deeaab4ee5ed0
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=b20eb41+%5Efb010e2

----------------------------------------------------------------------------

b20eb41: kernel/x86_64: help gcc with devirtualization
  
  This patch gets rid of some indirect calls in the paging code.

                                    [ Paweł Dziepak <pdziepak@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev47283
Commit:      b20eb413cd5afe7d879235b4553deeaab4ee5ed0
URL:         http://cgit.haiku-os.org/haiku/commit/?id=b20eb41
Author:      Paweł Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Fri May 30 00:11:05 2014 UTC

----------------------------------------------------------------------------

4 files changed, 12 insertions(+), 7 deletions(-)
.../kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h |  2 +-
.../arch/x86/paging/64bit/X86PagingStructures64Bit.h    |  2 +-
.../arch/x86/paging/64bit/X86VMTranslationMap64Bit.h    |  2 +-
src/system/kernel/arch/x86/paging/X86VMTranslationMap.h | 13 +++++++++----

----------------------------------------------------------------------------

diff --git a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h 
b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h
index e68e559..694b5be 100644
--- a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h
+++ b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h
@@ -25,7 +25,7 @@ class X86PhysicalPageMapper;
 struct vm_page_reservation;
 
 
-class X86PagingMethod64Bit : public X86PagingMethod {
+class X86PagingMethod64Bit final : public X86PagingMethod {
 public:
                                                                
X86PagingMethod64Bit();
        virtual                                         ~X86PagingMethod64Bit();
diff --git a/src/system/kernel/arch/x86/paging/64bit/X86PagingStructures64Bit.h 
b/src/system/kernel/arch/x86/paging/64bit/X86PagingStructures64Bit.h
index e3114d2..edb3e44 100644
--- a/src/system/kernel/arch/x86/paging/64bit/X86PagingStructures64Bit.h
+++ b/src/system/kernel/arch/x86/paging/64bit/X86PagingStructures64Bit.h
@@ -10,7 +10,7 @@
 #include "paging/X86PagingStructures.h"
 
 
-struct X86PagingStructures64Bit : X86PagingStructures {
+struct X86PagingStructures64Bit final : X86PagingStructures {
                                                                
X86PagingStructures64Bit();
        virtual                                         
~X86PagingStructures64Bit();
 
diff --git a/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.h 
b/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.h
index 7a9b449..aa62a29 100644
--- a/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.h
+++ b/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.h
@@ -13,7 +13,7 @@
 struct X86PagingStructures64Bit;
 
 
-struct X86VMTranslationMap64Bit : X86VMTranslationMap {
+struct X86VMTranslationMap64Bit final : X86VMTranslationMap {
                                                                
X86VMTranslationMap64Bit();
        virtual                                         
~X86VMTranslationMap64Bit();
 
diff --git a/src/system/kernel/arch/x86/paging/X86VMTranslationMap.h 
b/src/system/kernel/arch/x86/paging/X86VMTranslationMap.h
index fdb0241..a07b314 100644
--- a/src/system/kernel/arch/x86/paging/X86VMTranslationMap.h
+++ b/src/system/kernel/arch/x86/paging/X86VMTranslationMap.h
@@ -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;
 


Other related posts:

  • » [haiku-commits] haiku: hrev47283 - in src/system/kernel/arch/x86/paging/64bit: . src/system/kernel/arch/x86/paging - pdziepak