/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- * vim: set ts=8 sts=2 et sw=2 tw=80:
*/ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Label itWentNegative, fail, end;
masm.mov(ImmPtr((void*)&memory, ImmPtr::NoCheckToken()), Reg);
CodeOffset patchAt = masm.sub32FromMemAndBranchIfNegativeWithPatch(
Address(Reg, 0), &itWentNegative); if (init >= delta) { // The initial value is >= the delta. So we don't expect the value to go // negative.
masm.jump(&end);
masm.bind(&itWentNegative);
masm.printf("Failed\n");
masm.breakpoint();
} else { // The initial value is < the delta. We *do* expect the value to go // negative.
masm.printf("Failed\n");
masm.breakpoint();
masm.bind(&itWentNegative);
}
masm.bind(&end);
masm.patchSub32FromMemAndBranchIfNegative(patchAt, Imm32(delta)); if (!ExecuteJit(cx, masm)) { returnfalse;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.