40 intptr_t* insert_permutation,
44 for (intptr_t
i = 0;
i <
count; ++
i) {
45 auto expected_moves = mapping[insert_permutation[
i]];
46 b.NewMapping(insert_permutation[
i]);
47 for (intptr_t j = 0; j < expected_moves.count; ++j) {
48 b.Append(expected_moves.moves[j]);
56 for (intptr_t
i = 0;
i <
count; ++
i) {
57 auto expected_moves = mapping[
i];
59 EXPECT_EQ(expected_moves.count, read_moves->count());
60 for (intptr_t j = 0; j < expected_moves.count; ++j) {
61 EXPECT(expected_moves.moves[j] == read_moves->At(j));
68 std::unique_ptr<intptr_t[]> permutation(
new intptr_t[
count]);
69 for (intptr_t
i = 0;
i <
count; ++
i) {
79 const intptr_t replacement = permutation[
i];
81 permutation[
offset] = replacement;
84 run_all_permutations(
offset + 1);
87 permutation[
i] = replacement;
92 run_all_permutations(0);
static void test1(skiatest::Reporter *reporter, SkWriter32 *writer)
static void test4(SkCanvas *canvas)
static CatchEntryMove FromSlot(SourceKind kind, intptr_t src_slot, intptr_t dest_slot)
CatchEntryMoves * ReadMovesForPcOffset(intptr_t pc_offset)
Dart_NativeFunction function
const CatchEntryMove xbcde[]
const CatchEntryMove abcdx[]
const CatchEntryMove abxde[]
void RunTestCaseWithPermutations(const TestCaseMoves *mapping, intptr_t *insert_permutation, intptr_t count)
ISOLATE_UNIT_TEST_CASE(StackAllocatedDestruction)
void RunTestCase(const TestCaseMoves *mapping, intptr_t count)
const CatchEntryMove abcde[]
static CatchEntryMove NewMove(intptr_t src, intptr_t dst)
const CatchEntryMove ab[]
const CatchEntryMove de[]
const CatchEntryMove * moves
#define ARRAY_SIZE(array)