Revision: 5179
Author: [email protected]
Date: Thu Aug 5 05:34:53 2010
Log: Fix GCC 4.4.4 build
Force a number functions to not inline in order th work around a bug in GCC
4.4.4.
See http://codereview.chromium.org/3083016 for more info.
Review URL: http://codereview.chromium.org/3034056
http://code.google.com/p/v8/source/detail?r=5179
Modified:
/branches/bleeding_edge/src/globals.h
/branches/bleeding_edge/src/heap.h
=======================================
--- /branches/bleeding_edge/src/globals.h Wed Jul 14 04:18:09 2010
+++ /branches/bleeding_edge/src/globals.h Thu Aug 5 05:34:53 2010
@@ -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.
=======================================
--- /branches/bleeding_edge/src/heap.h Thu Aug 5 04:19:43 2010
+++ /branches/bleeding_edge/src/heap.h Thu Aug 5 05:34:53 2010
@@ -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();
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev