summaryrefslogtreecommitdiff
path: root/gold/int_encoding.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/int_encoding.h')
-rw-r--r--gold/int_encoding.h40
1 files changed, 4 insertions, 36 deletions
diff --git a/gold/int_encoding.h b/gold/int_encoding.h
index 467d2244ce..6485a93107 100644
--- a/gold/int_encoding.h
+++ b/gold/int_encoding.h
@@ -38,48 +38,16 @@ namespace gold
//
// Read a ULEB 128 encoded integer from BUFFER. Return the length of the
-// encoded integer at the location PLEN. The common case of a single-byte
-// value is handled inline, and multi-byte values are processed by the _x
-// routine, where BYTE is the first byte of the value.
+// encoded integer at the location PLEN.
uint64_t
-read_unsigned_LEB_128_x(const unsigned char* buffer, size_t* plen,
- unsigned char byte);
-
-inline uint64_t
-read_unsigned_LEB_128(const unsigned char* buffer, size_t* plen)
-{
- unsigned char byte = *buffer++;
-
- if ((byte & 0x80) != 0)
- return read_unsigned_LEB_128_x(buffer, plen, byte);
-
- *plen = 1;
- return static_cast<uint64_t>(byte);
-}
+read_unsigned_LEB_128(const unsigned char* buffer, size_t* plen);
// Read an SLEB 128 encoded integer from BUFFER. Return the length of the
-// encoded integer at the location PLEN. The common case of a single-byte
-// value is handled inline, and multi-byte values are processed by the _x
-// routine, where BYTE is the first byte of the value.
+// encoded integer at the location PLEN.
int64_t
-read_signed_LEB_128_x(const unsigned char* buffer, size_t* plen,
- unsigned char byte);
-
-inline int64_t
-read_signed_LEB_128(const unsigned char* buffer, size_t* plen)
-{
- unsigned char byte = *buffer++;
-
- if ((byte & 0x80) != 0)
- return read_signed_LEB_128_x(buffer, plen, byte);
-
- *plen = 1;
- if (byte & 0x40)
- return -(static_cast<int64_t>(1) << 7) | static_cast<int64_t>(byte);
- return static_cast<int64_t>(byte);
-}
+read_signed_LEB_128(const unsigned char* buffer, size_t* plen);
// Write a ULEB 128 encoded VALUE to BUFFER.