Lines Matching refs:builder_
182 bb[0] = builder_.Nop();
202 Environment env(gate, circuit_, &builder_);
203 Label exit(&builder_);
208 DEFVALUE(result, (&builder_), VariableType::JS_ANY(), hole);
209 Label success(&builder_);
210 Label callRuntime(&builder_);
226 GateRef topAddrAddr = builder_.PtrAdd(glue, topAddrOffset);
227 GateRef endAddrAddr = builder_.PtrAdd(glue, endAddrOffset);
228 GateRef topAddress = builder_.Load(VariableType::NATIVE_POINTER(), topAddrAddr);
229 GateRef endAddress = builder_.Load(VariableType::NATIVE_POINTER(), endAddrAddr);
231 GateRef rawTopAddr = builder_.PtrAdd(topAddress, addrOffset);
232 GateRef rawEndAddr = builder_.PtrAdd(endAddress, addrOffset);
233 GateRef top = builder_.Load(VariableType::JS_POINTER(), rawTopAddr);
234 GateRef end = builder_.Load(VariableType::JS_POINTER(), rawEndAddr);
236 GateRef newTop = builder_.PtrAdd(top, size);
237 GateRef condition = builder_.Int64GreaterThan(newTop, end);
258 builder_.Bind(&success);
260 GateRef ifFalse = builder_.GetState();
261 GateRef addr = builder_.PtrAdd(topAddress, addrOffset);
262 builder_.StoreWithoutBarrier(VariableType::NATIVE_POINTER(), addr, newTop);
263 GateRef store = builder_.GetDepend();
265 builder_.Jump(&exit);
274 builder_.Bind(&callRuntime);
276 GateRef ifTrue = builder_.GetState();
279 GateRef taggedSize = builder_.Int64Or(size, taggedIntMask);
296 GateRef slowResult = builder_.Call(cs, glue, target, builder_.GetDepend(),
300 builder_.Jump(&exit);
313 builder_.Bind(&exit);
315 GateRef merge = builder_.GetState();
320 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), *result);
331 Environment env(gate, circuit_, &builder_);
339 GateRef taggedSize = builder_.Int64Or(size, taggedIntMask);
355 GateRef result = builder_.Call(cs, glue, target, builder_.GetDepend(),
357 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result);
444 Environment env(gate, circuit_, &builder_);
449 GateRef addr = builder_.PtrAdd(base, offset);
451 builder_.StoreWithoutBarrier(type, addr, value, acc_.GetMemoryAttribute(gate));
452 GateRef store = builder_.GetDepend();
457 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate());
468 Environment env(gate, circuit_, &builder_);
474 GateRef addr = builder_.PtrAdd(base, offset);
476 builder_.StoreWithoutBarrier(type, addr, value, acc_.GetMemoryAttribute(gate));
477 GateRef store = builder_.GetDepend();
487 GateRef storeBarrier = builder_.Call(cs, glue, target, builder_.GetDepend(),
498 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate());
506 Environment env(gate, circuit_, &builder_);
512 GateRef addr = builder_.PtrAdd(base, offset);
514 builder_.StoreWithoutBarrier(type, addr, value, acc_.GetMemoryAttribute(gate));
515 GateRef store = builder_.GetDepend();
517 GateRef intVal = builder_.ChangeTaggedPointerToInt64(value);
520 GateRef masked = builder_.Int64And(intVal, objMask, GateType::Empty(), "checkHeapObject");
522 GateRef condition = builder_.Equal(masked, falseVal, "checkHeapObject");
523 Label exit(&builder_);
524 Label isHeapObject(&builder_);
540 builder_.Bind(&isHeapObject);
555 GateRef verifyBarrier = builder_.Call(verifyBarrierCs, glue, verifyTarget, builder_.GetDepend(),
559 GateRef storeBarrier = builder_.Call(cs, glue, target, builder_.GetDepend(),
562 builder_.Jump(&exit);
575 builder_.Bind(&exit);
577 GateRef merge = builder_.GetState();
581 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate());