Changeset 29454 in webkit for trunk/JavaScriptCore
- Timestamp:
- Jan 13, 2008, 11:47:56 AM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r29447 r29454 1 2008-01-13 Marius Bugge Monsen <[email protected]> 2 3 Contributions and review by Adriaan de Groot, 4 Simon Hausmann, Eric Seidel, and Darin Adler. 5 6 - http://bugs.webkit.org/show_bug.cgi?id=16590 7 Compilation fixes for Solaris. 8 9 * kjs/DateMath.h: 10 (KJS::GregorianDateTime::GregorianDateTime): Use the WIN_OS code path 11 for SOLARIS too, presumably because Solaris also lacks the tm_gtoff and tm_zone 12 fields. 13 (KJS::GregorianDateTime::operator tm): Ditto. 14 15 * kjs/collector.cpp: 16 (KJS::currentThreadStackBase): Use thr_stksegment on Solaris. 17 18 * wtf/MathExtras.h: 19 (isfinite): Implement for Solaris. 20 (isinf): Ditto. 21 (signbit): Ditto. But this one is wrong, so I added a FIXME. 22 23 * wtf/Platform.h: Define PLATFORM(SOLARIS) when "sun" or "__sun" is defined. 24 1 25 2008-01-13 Michael Goddard <[email protected]> 2 26 -
trunk/JavaScriptCore/kjs/DateMath.h
r20203 r29454 69 69 70 70 // Intentionally overridding the default tm of the system 71 // Not all OS' have the same members of their tm's71 // Tee members of tm differ on various operating systems. 72 72 struct GregorianDateTime : Noncopyable { 73 73 GregorianDateTime() … … 102 102 , isDST(inTm.tm_isdst) 103 103 { 104 #if !PLATFORM(WIN_OS) 104 #if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) 105 105 utcOffset = static_cast<int>(inTm.tm_gmtoff); 106 106 … … 129 129 ret.tm_isdst = isDST; 130 130 131 #if !PLATFORM(WIN_OS) 131 #if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) 132 132 ret.tm_gmtoff = static_cast<long>(utcOffset); 133 133 ret.tm_zone = timeZone; -
trunk/JavaScriptCore/kjs/collector.cpp
r29396 r29454 1 1 // -*- mode: c++; c-basic-offset: 4 -*- 2 2 /* 3 * This file is part of the KDE libraries4 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 5 4 * Copyright (C) 2007 Eric Seidel <[email protected]> … … 59 58 #include <sys/mman.h> 60 59 #include <unistd.h> 60 61 #if PLATFORM(SOLARIS) 62 #include <thread.h> 63 #endif 61 64 62 65 #if HAVE(PTHREAD_NP_H) … … 334 337 ); 335 338 return (void*)pTib->StackBase; 339 #elif PLATFORM(SOLARIS) 340 stack_t s; 341 thr_stksegment(&s); 342 return s.ss_sp; 336 343 #elif PLATFORM(UNIX) 337 static void *stackBase = 0;344 static void* stackBase = 0; 338 345 static size_t stackSize = 0; 339 346 static pthread_t stackThread; … … 350 357 #endif 351 358 int rc = pthread_attr_getstack(&sattr, &stackBase, &stackSize); 352 (void)rc; // FIXME: deal with error code somehow? seems fatal...359 (void)rc; // FIXME: Deal with error code somehow? Seems fatal. 353 360 ASSERT(stackBase); 354 361 pthread_attr_destroy(&sattr); 355 362 stackThread = thread; 356 363 } 357 return (void*)(size_t(stackBase) + stackSize);364 return static_cast<char*>(stackBase) + stackSize; 358 365 #else 359 366 #error Need a way to get the stack base on this platform -
trunk/JavaScriptCore/wtf/MathExtras.h
r27994 r29454 1 1 /* 2 * Copyright (C) 2006, 2007 Apple Inc. 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 31 31 #include <time.h> 32 32 33 #if PLATFORM(SOLARIS) && COMPILER(GCC) 34 #include <ieeefp.h> 35 #endif 36 33 37 #if COMPILER(MSVC) 34 38 … … 56 60 const double piOverFourDouble = M_PI_4; 57 61 const float piOverFourFloat = static_cast<float>(M_PI_4); 62 #endif 63 64 #if PLATFORM(SOLARIS) && COMPILER(GCC) 65 66 #ifndef isfinite 67 inline bool isfinite(double x) { return finite(x) && !isnand(x); } 68 #endif 69 #ifndef isinf 70 inline bool isinf(double x) { return !finite(x) && !isnand(x); } 71 #endif 72 #ifndef signbit 73 inline bool signbit(double x) { return x < 0.0; } // FIXME: Wrong for negative 0. 74 #endif 75 58 76 #endif 59 77 -
trunk/JavaScriptCore/wtf/Platform.h
r27187 r29454 58 58 #endif 59 59 60 /* PLATFORM(SOLARIS) */ 61 /* Operating system level dependencies for Solaris that should be used */ 62 /* regardless of operating environment */ 63 #if defined(sun) || defined(__sun) 64 #define WTF_PLATFORM_SOLARIS 1 65 #endif 66 60 67 /* PLATFORM(UNIX) */ 61 68 /* Operating system level dependencies for Unix-like systems that */
Note:
See TracChangeset
for help on using the changeset viewer.