2011-02-17 Sheriff Bot <webkit.review.bot@gmail.com>
[WebKit-https.git] / Source / JavaScriptCore / ChangeLog
1 2011-02-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r78856 and r78907.
4         http://trac.webkit.org/changeset/78856
5         http://trac.webkit.org/changeset/78907
6         https://bugs.webkit.org/show_bug.cgi?id=54705
7
8         These seem to break tests on 32-bit builds. (Requested by
9         aroben on #webkit).
10
11         * JavaScriptCore.xcodeproj/project.pbxproj:
12         * collector/handles/Global.h:
13         (JSC::Global::internalSet):
14         * collector/handles/Handle.h:
15         (JSC::HandleTypes::getFromSlot):
16         (JSC::HandleTypes::toJSValue):
17         (JSC::HandleTypes::validateUpcast):
18         (JSC::HandleConverter::operator->):
19         (JSC::HandleConverter::operator*):
20         (JSC::Handle::Handle):
21         (JSC::Handle::get):
22         * runtime/JSArray.cpp:
23         (JSC::JSArray::sortNumeric):
24         * runtime/JSObject.h:
25         (JSC::JSObject::inlineGetOwnPropertySlot):
26         * runtime/SlotAccessor.h: Removed.
27         * runtime/WeakGCPtr.h:
28         (JSC::WeakGCPtr::get):
29         (JSC::WeakGCPtr::internalSet):
30         * runtime/WriteBarrier.h:
31         (JSC::DeprecatedPtr::DeprecatedPtr):
32         (JSC::DeprecatedPtr::get):
33         (JSC::DeprecatedPtr::operator*):
34         (JSC::DeprecatedPtr::operator->):
35         (JSC::DeprecatedPtr::slot):
36         (JSC::DeprecatedPtr::operator UnspecifiedBoolType*):
37         (JSC::DeprecatedPtr::operator!):
38         (JSC::WriteBarrierBase::set):
39         (JSC::WriteBarrierBase::get):
40         (JSC::WriteBarrierBase::operator*):
41         (JSC::WriteBarrierBase::operator->):
42         (JSC::WriteBarrierBase::clear):
43         (JSC::WriteBarrierBase::slot):
44         (JSC::WriteBarrierBase::operator UnspecifiedBoolType*):
45         (JSC::WriteBarrierBase::operator!):
46         (JSC::WriteBarrierBase::setWithoutWriteBarrier):
47         (JSC::WriteBarrier::WriteBarrier):
48
49 2011-02-17  Csaba Osztrogon√°c  <ossy@webkit.org>
50
51         Unreviewed.
52
53         [Qt] Buildfix.
54
55         * wtf/RetainPtr.h: Add missing PLATFORM(CF) guard.
56
57 2011-02-17  Geoffrey Garen  <ggaren@apple.com>
58
59         Reviewed by Oliver Hunt.
60
61         Made MarkedBlock variable-sized
62         https://bugs.webkit.org/show_bug.cgi?id=54692
63         
64         SunSpider reports no change.
65         
66         Each MarkedBlock is now composed of a set of fixed-sized atoms, with one
67         mark bit per atom. A given cell may be composed of one or more atoms.
68         
69         * runtime/Heap.cpp:
70         (JSC::Heap::allocate): Made fixed-sizedness a property of MarkedSpace,
71         bubbling it up from MarkedBlock, since MarkedBlock now supports variable-
72         sizedness.
73
74         * runtime/JSCell.h:
75         (JSC::JSCell::MarkedBlock::allocate): Removed use of CELLS_PER_BLOCK and
76         (implicit) one constants -- these quantities are not constant anymore.
77         Updated for switch from cell to atom.
78
79         * runtime/MarkedBlock.cpp:
80         (JSC::MarkedBlock::create):
81         (JSC::MarkedBlock::destroy):
82         (JSC::MarkedBlock::MarkedBlock):
83         (JSC::MarkedBlock::sweep):
84         * runtime/MarkedBlock.h:
85         (JSC::MarkedBlock::firstAtom):
86         (JSC::MarkedBlock::atoms):
87         (JSC::MarkedBlock::isAtomAligned):
88         (JSC::MarkedBlock::blockFor):
89         (JSC::MarkedBlock::isEmpty):
90         (JSC::MarkedBlock::clearMarks):
91         (JSC::MarkedBlock::size):
92         (JSC::MarkedBlock::capacity):
93         (JSC::MarkedBlock::atomNumber):
94         (JSC::MarkedBlock::isMarked):
95         (JSC::MarkedBlock::testAndSetMarked):
96         (JSC::MarkedBlock::setMarked):
97         (JSC::MarkedBlock::forEach): Same as above. Also removed use of CELL_SIZE
98         and BLOCK_SIZE, and switched away from calling arbitrary pointers cells.
99
100         * runtime/MarkedSpace.cpp:
101         (JSC::MarkedSpace::MarkedSpace):
102         (JSC::MarkedSpace::allocateBlock):
103         (JSC::MarkedSpace::allocate):
104         (JSC::MarkedSpace::reset):
105         * runtime/MarkedSpace.h:
106         (JSC::CollectorHeap::CollectorHeap):
107         (JSC::MarkedSpace::contains): Updated for renames. Made fixed-sizedness
108         a property of MarkedSpace.
109
110 2011-02-17  Oliver Hunt  <oliver@apple.com>
111
112         Attempt to fix windows build
113
114         * runtime/WriteBarrier.h:
115
116 2011-02-17  Oliver Hunt  <oliver@apple.com>
117
118         Reviewed by Geoffrey Garen.
119
120         Refactor WriteBarrier and DeprecatedPtr to have less code duplication.
121         https://bugs.webkit.org/show_bug.cgi?id=54608
122
123         Make use of the tricks used for Handle, et al to avoid duplicating all
124         of the logic for DeprecatedPtr and WriteBarrier simply to support known
125         vs. unknown types.
126
127         * JavaScriptCore.xcodeproj/project.pbxproj:
128         * collector/handles/Global.h:
129         (JSC::Global::internalSet):
130         * collector/handles/Handle.h:
131         (JSC::Handle::Handle):
132         (JSC::Handle::get):
133         * runtime/JSArray.cpp:
134         (JSC::JSArray::sortNumeric):
135         * runtime/JSObject.h:
136         (JSC::JSObject::inlineGetOwnPropertySlot):
137         * runtime/SlotAccessor.h: Added.
138         (JSC::SlotTypes::getFromBaseType):
139         (JSC::SlotTypes::convertToBaseType):
140         (JSC::SlotTypes::getFromSlot):
141         (JSC::SlotTypes::toJSValue):
142         (JSC::SlotTypes::validateUpcast):
143         (JSC::SlotAccessor::operator->):
144         (JSC::SlotAccessor::operator*):
145         * runtime/WeakGCPtr.h:
146         (JSC::WeakGCPtr::get):
147         (JSC::WeakGCPtr::internalSet):
148         * runtime/WriteBarrier.h:
149         (JSC::DeprecatedPtr::DeprecatedPtr):
150         (JSC::DeprecatedPtr::get):
151         (JSC::DeprecatedPtr::slot):
152         (JSC::DeprecatedPtr::operator=):
153         (JSC::WriteBarrierTranslator::convertToStorage):
154         (JSC::WriteBarrierTranslator::convertFromStorage):
155         (JSC::WriteBarrierBase::set):
156         (JSC::WriteBarrierBase::get):
157         (JSC::WriteBarrierBase::clear):
158         (JSC::WriteBarrierBase::slot):
159         (JSC::WriteBarrierBase::operator UnspecifiedBoolType*):
160         (JSC::WriteBarrierBase::operator!):
161         (JSC::WriteBarrierBase::setWithoutWriteBarrier):
162         (JSC::WriteBarrier::WriteBarrier):
163
164 2011-02-17  Kevin Ollivier  <kevino@theolliviers.com>
165
166         [wx] Revert incorrect blind fix and restore previous working code.
167
168         * wtf/wx/StringWx.cpp:
169         (WTF::String::String):
170
171 2011-02-16  Geoffrey Garen  <ggaren@apple.com>
172
173         Reviewed by Maciej Stachowiak.
174
175         Intermittent crashes beneath MarkStack::drain
176         https://bugs.webkit.org/show_bug.cgi?id=54614
177         <rdar://problem/8971070>
178         
179         The crashes were caused by a GC happening after the global object's
180         property table had grown (due to compilation), but before the properties
181         had been fully initialized by program execution.
182
183         * bytecompiler/BytecodeGenerator.cpp:
184         (JSC::BytecodeGenerator::BytecodeGenerator): Explicitly resize the global
185         object's register storage immediately, without waiting for program
186         execution to do it for us. This ensures that the global object's count
187         of global variables is consistent with the size of its global variable
188         storage at all times, and it ensures that all global variables are
189         properly initialized from the get-go.
190
191         * runtime/JSGlobalObject.cpp:
192         (JSC::JSGlobalObject::resizeRegisters):
193         * runtime/JSGlobalObject.h: Added a helper function for growing the
194         global object's register storage, and initializing new registers.
195
196 == Rolled over to ChangeLog-2011-02-16 ==