@@ -121,18 +121,19 @@ TF_BUILTIN(WasmAtomicNotify, WasmBuiltinsAssembler) {
121
121
TNode<Code> centry = LoadCEntryFromInstance (instance);
122
122
123
123
TNode<Code> target = LoadBuiltinFromFrame (Builtins::kAllocateHeapNumber );
124
+ TNode<Object> context = LoadContextFromInstance (instance);
124
125
125
126
// TODO(aseemgarg): Use SMIs if possible for address and count
126
127
TNode<HeapNumber> address_heap = UncheckedCast<HeapNumber>(
127
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
128
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
128
129
StoreHeapNumberValue (address_heap, ChangeUint32ToFloat64 (address));
129
130
130
131
TNode<HeapNumber> count_heap = UncheckedCast<HeapNumber>(
131
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
132
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
132
133
StoreHeapNumberValue (count_heap, ChangeUint32ToFloat64 (count));
133
134
134
135
TNode<Smi> result_smi = UncheckedCast<Smi>(CallRuntimeWithCEntry (
135
- Runtime::kWasmAtomicNotify , centry, NoContextConstant () , instance,
136
+ Runtime::kWasmAtomicNotify , centry, context , instance,
136
137
address_heap, count_heap));
137
138
ReturnRaw (SmiToInt32 (result_smi));
138
139
}
@@ -149,23 +150,24 @@ TF_BUILTIN(WasmI32AtomicWait, WasmBuiltinsAssembler) {
149
150
TNode<Code> centry = LoadCEntryFromInstance (instance);
150
151
151
152
TNode<Code> target = LoadBuiltinFromFrame (Builtins::kAllocateHeapNumber );
153
+ TNode<Object> context = LoadContextFromInstance (instance);
152
154
153
155
// TODO(aseemgarg): Use SMIs if possible for address and expected_value
154
156
TNode<HeapNumber> address_heap = UncheckedCast<HeapNumber>(
155
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
157
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
156
158
StoreHeapNumberValue (address_heap, ChangeUint32ToFloat64 (address));
157
159
158
160
TNode<HeapNumber> expected_value_heap = UncheckedCast<HeapNumber>(
159
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
161
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
160
162
StoreHeapNumberValue (expected_value_heap,
161
163
ChangeInt32ToFloat64 (expected_value));
162
164
163
165
TNode<HeapNumber> timeout_heap = UncheckedCast<HeapNumber>(
164
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
166
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
165
167
StoreHeapNumberValue (timeout_heap, timeout);
166
168
167
169
TNode<Smi> result_smi = UncheckedCast<Smi>(CallRuntimeWithCEntry (
168
- Runtime::kWasmI32AtomicWait , centry, NoContextConstant () , instance,
170
+ Runtime::kWasmI32AtomicWait , centry, context , instance,
169
171
address_heap, expected_value_heap, timeout_heap));
170
172
ReturnRaw (SmiToInt32 (result_smi));
171
173
}
@@ -184,28 +186,29 @@ TF_BUILTIN(WasmI64AtomicWait, WasmBuiltinsAssembler) {
184
186
TNode<Code> centry = LoadCEntryFromInstance (instance);
185
187
186
188
TNode<Code> target = LoadBuiltinFromFrame (Builtins::kAllocateHeapNumber );
189
+ TNode<Object> context = LoadContextFromInstance (instance);
187
190
188
191
// TODO(aseemgarg): Use SMIs if possible for address and expected_value
189
192
TNode<HeapNumber> address_heap = UncheckedCast<HeapNumber>(
190
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
193
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
191
194
StoreHeapNumberValue (address_heap, ChangeUint32ToFloat64 (address));
192
195
193
196
TNode<HeapNumber> expected_value_high_heap = UncheckedCast<HeapNumber>(
194
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
197
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
195
198
StoreHeapNumberValue (expected_value_high_heap,
196
199
ChangeUint32ToFloat64 (expected_value_high));
197
200
198
201
TNode<HeapNumber> expected_value_low_heap = UncheckedCast<HeapNumber>(
199
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
202
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
200
203
StoreHeapNumberValue (expected_value_low_heap,
201
204
ChangeUint32ToFloat64 (expected_value_low));
202
205
203
206
TNode<HeapNumber> timeout_heap = UncheckedCast<HeapNumber>(
204
- CallStub (AllocateHeapNumberDescriptor (), target, NoContextConstant () ));
207
+ CallStub (AllocateHeapNumberDescriptor (), target, context ));
205
208
StoreHeapNumberValue (timeout_heap, timeout);
206
209
207
210
TNode<Smi> result_smi = UncheckedCast<Smi>(CallRuntimeWithCEntry (
208
- Runtime::kWasmI64AtomicWait , centry, NoContextConstant () , instance,
211
+ Runtime::kWasmI64AtomicWait , centry, context , instance,
209
212
address_heap, expected_value_high_heap, expected_value_low_heap,
210
213
timeout_heap));
211
214
ReturnRaw (SmiToInt32 (result_smi));
0 commit comments