From c069a30d42aefd902c20e8bc09dfad1683f07ded Mon Sep 17 00:00:00 2001 From: Orion Hodson Date: Wed, 18 Jan 2017 09:23:12 +0000 Subject: ART: invoke-custom support Adds invoke-custom instruction to the interpreter. Bug: 33191717,30550796 Test: art/test/run-test --host 952 Change-Id: I3b754128649a8b3a00ade79ba2518d0e377f3a1e --- runtime/utils_test.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'runtime/utils_test.cc') diff --git a/runtime/utils_test.cc b/runtime/utils_test.cc index 02f1e1bbfe..634bd47f05 100644 --- a/runtime/utils_test.cc +++ b/runtime/utils_test.cc @@ -408,4 +408,23 @@ TEST_F(UtilsTest, IsValidDescriptor) { IsValidDescriptor(reinterpret_cast(&unpaired_surrogate_with_multibyte_sequence[0]))); } +TEST_F(UtilsTest, ArrayCount) { + int i[64]; + EXPECT_EQ(ArrayCount(i), 64u); + char c[7]; + EXPECT_EQ(ArrayCount(c), 7u); +} + +TEST_F(UtilsTest, BoundsCheckedCast) { + char buffer[64]; + const char* buffer_end = buffer + ArrayCount(buffer); + EXPECT_EQ(BoundsCheckedCast(nullptr, buffer, buffer_end), nullptr); + EXPECT_EQ(BoundsCheckedCast(buffer, buffer, buffer_end), + reinterpret_cast(buffer)); + EXPECT_EQ(BoundsCheckedCast(buffer + 56, buffer, buffer_end), + reinterpret_cast(buffer + 56)); + EXPECT_EQ(BoundsCheckedCast(buffer - 1, buffer, buffer_end), nullptr); + EXPECT_EQ(BoundsCheckedCast(buffer + 57, buffer, buffer_end), nullptr); +} + } // namespace art -- cgit v1.2.3-59-g8ed1b