Reviewers: Vyacheslav Egorov,

Description:
Merge r5179 (Fix GCC 4.4.4 build) to trunk

Please review this at http://codereview.chromium.org/2856089/show

SVN Base: http://v8.googlecode.com/svn/trunk/

Affected files:
  M     src/globals.h
  M     src/heap.h
  M     src/version.cc


Index: src/globals.h
===================================================================
--- src/globals.h       (revision 5182)
+++ src/globals.h       (working copy)
@@ -643,11 +643,14 @@
 #if defined(__GNUC__) && !defined(DEBUG)
 #if (__GNUC__ >= 4)
 #define INLINE(header) inline header  __attribute__((always_inline))
+#define NO_INLINE(header) header __attribute__((noinline))
 #else
 #define INLINE(header) inline __attribute__((always_inline)) header
+#define NO_INLINE(header) __attribute__((noinline)) header
 #endif
 #else
 #define INLINE(header) inline header
+#define NO_INLINE(header) header
 #endif

 // Feature flags bit positions. They are mostly based on the CPUID spec.
Index: src/heap.h
===================================================================
--- src/heap.h  (revision 5182)
+++ src/heap.h  (working copy)
@@ -1195,12 +1195,12 @@
   static bool CreateInitialMaps();
   static bool CreateInitialObjects();

- // These four Create*EntryStub functions are here because of a gcc-4.4 bug
-  // that assigns wrong vtable entries.
-  static void CreateCEntryStub();
-  static void CreateJSEntryStub();
-  static void CreateJSConstructEntryStub();
-  static void CreateRegExpCEntryStub();
+ // These four Create*EntryStub functions are here and forced to not be inlined
+  // because of a gcc-4.4 bug that assigns wrong vtable entries.
+  NO_INLINE(static void CreateCEntryStub());
+  NO_INLINE(static void CreateJSEntryStub());
+  NO_INLINE(static void CreateJSConstructEntryStub());
+  NO_INLINE(static void CreateRegExpCEntryStub());

   static void CreateFixedStubs();

Index: src/version.cc
===================================================================
--- src/version.cc      (revision 5183)
+++ src/version.cc      (working copy)
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     2
 #define MINOR_VERSION     3
 #define BUILD_NUMBER      5
-#define PATCH_LEVEL       1
+#define PATCH_LEVEL       2
 #define CANDIDATE_VERSION false

 // Define SONAME to have the SCons build the put a specific SONAME into the


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to