Changeset 769 for trunk/src/3rdparty/webkit/JavaScriptCore
- Timestamp:
- Aug 2, 2010, 9:27:30 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.6.3 (added) merged: 768 /branches/vendor/nokia/qt/current merged: 767 /branches/vendor/nokia/qt/4.6.2 removed
- Property svn:mergeinfo changed
-
trunk/src/3rdparty/webkit/JavaScriptCore/ChangeLog
r651 r769 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 1 42 2010-01-07 Norbert Leser <[email protected]> 2 43 -
trunk/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
r591 r769 8 8 isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}release 9 9 !CONFIG(QTDIR_build):OBJECTS_DIR = obj/release 10 11 12 13 10 14 } 11 15 … … 24 28 $$PWD/wrec \ 25 29 $$PWD/wtf \ 30 26 31 $$PWD/wtf/unicode \ 27 32 $$PWD/yarr \ … … 244 249 wtf/DateMath.cpp \ 245 250 wtf/FastMalloc.cpp \ 251 246 252 wtf/Threading.cpp \ 247 253 wtf/qt/MainThreadQt.cpp -
trunk/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
r729 r769 53 53 #include <mach/vm_map.h> 54 54 55 #elif PLATFORM(SYMBIAN)56 #include <e32std.h>57 #include <e32cmn.h>58 #include <unistd.h>59 60 55 #elif PLATFORM(WIN_OS) 61 56 … … 125 120 #define MIN_ARRAY_SIZE (static_cast<size_t>(14)) 126 121 127 #if PLATFORM(SYMBIAN)128 const size_t MAX_NUM_BLOCKS = 256; // Max size of collector heap set to 16 MB129 static RHeap* userChunk = 0;130 #endif131 132 122 #if ENABLE(JSC_MULTIPLE_THREADS) 133 123 … … 166 156 #endif 167 157 , m_globalData(globalData) 158 159 160 168 161 { 169 162 ASSERT(globalData); 170 171 #if PLATFORM(SYMBIAN)172 // Symbian OpenC supports mmap but currently not the MAP_ANON flag.173 // Using fastMalloc() does not properly align blocks on 64k boundaries174 // and previous implementation was flawed/incomplete.175 // UserHeap::ChunkHeap allows allocation of continuous memory and specification176 // of alignment value for (symbian) cells within that heap.177 //178 // Clarification and mapping of terminology:179 // RHeap (created by UserHeap::ChunkHeap below) is continuos memory chunk,180 // which can dynamically grow up to 8 MB,181 // that holds all CollectorBlocks of this session (static).182 // Each symbian cell within RHeap maps to a 64kb aligned CollectorBlock.183 // JSCell objects are maintained as usual within CollectorBlocks.184 if (!userChunk) {185 userChunk = UserHeap::ChunkHeap(0, 0, MAX_NUM_BLOCKS * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE);186 if (!userChunk)187 CRASH();188 }189 #endif // PLATFORM(SYMBIAN)190 191 163 memset(&primaryHeap, 0, sizeof(CollectorHeap)); 192 164 memset(&numberHeap, 0, sizeof(CollectorHeap)); … … 234 206 } 235 207 #endif 236 208 #if PLATFORM(SYMBIAN) 209 m_blockallocator.destroy(); 210 #endif 237 211 m_globalData = 0; 238 212 } … … 248 222 vm_map(current_task(), &address, BLOCK_SIZE, BLOCK_OFFSET_MASK, VM_FLAGS_ANYWHERE | VM_TAG_FOR_COLLECTOR_MEMORY, MEMORY_OBJECT_NULL, 0, FALSE, VM_PROT_DEFAULT, VM_PROT_DEFAULT, VM_INHERIT_DEFAULT); 249 223 #elif PLATFORM(SYMBIAN) 250 // Allocate a 64 kb aligned CollectorBlock 251 unsigned char* mask = reinterpret_cast<unsigned char*>(userChunk->Alloc(BLOCK_SIZE)); 252 if (!mask) 224 void* address = m_blockallocator.alloc(); 225 if (!address) 253 226 CRASH(); 254 uintptr_t address = reinterpret_cast<uintptr_t>(mask);255 256 227 memset(reinterpret_cast<void*>(address), 0, BLOCK_SIZE); 257 228 #elif (PLATFORM(OS2) && !HAVE(POSIX_MEMALIGN)) … … 344 315 vm_deallocate(current_task(), reinterpret_cast<vm_address_t>(block), BLOCK_SIZE); 345 316 #elif PLATFORM(SYMBIAN) 346 userChunk->Free(reinterpret_cast<TAny*>(block));317 *>(block)); 347 318 #elif (PLATFORM(OS2) && !HAVE(POSIX_MEMALIGN)) 348 319 DosFreeMem(block); -
trunk/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h
r728 r769 36 36 #endif 37 37 38 39 40 41 38 42 #define ASSERT_CLASS_FITS_IN_CELL(class) COMPILE_ASSERT(sizeof(class) <= CELL_SIZE, class_fits_in_cell) 39 43 … … 158 162 #endif 159 163 164 165 166 167 168 160 169 JSGlobalData* m_globalData; 161 170 }; -
trunk/src/3rdparty/webkit/JavaScriptCore/runtime/JSValue.cpp
r561 r769 175 175 NEVER_INLINE double nonInlineNaN() 176 176 { 177 178 179 177 180 return std::numeric_limits<double>::quiet_NaN(); 181 178 182 } 179 183
Note:
See TracChangeset
for help on using the changeset viewer.