From 368216420a222c6cd2fd45980e59119122ae280b Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 7 Sep 2001 16:27:49 +0000 Subject: [PATCH] Use a deque instead of a vector for greater efficiency writing bytecode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@434 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Bytecode/Primitives.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/llvm/Bytecode/Primitives.h b/include/llvm/Bytecode/Primitives.h index d687fb81859..178904d15ff 100644 --- a/include/llvm/Bytecode/Primitives.h +++ b/include/llvm/Bytecode/Primitives.h @@ -14,7 +14,7 @@ #include "llvm/Support/DataTypes.h" #include -#include +#include //===----------------------------------------------------------------------===// // Reading Primitives @@ -157,7 +157,7 @@ static inline bool input_data(const unsigned char *&Buf, // string... note that this should be inlined always so only the relevant IF // body should be included... // -static inline void output(unsigned i, vector &Out, int pos = -1){ +static inline void output(unsigned i, deque &Out, int pos = -1){ #ifdef LITTLE_ENDIAN if (pos == -1) Out.insert(Out.end(), (unsigned char*)&i, (unsigned char*)&i+4); @@ -178,7 +178,7 @@ static inline void output(unsigned i, vector &Out, int pos = -1){ #endif } -static inline void output(int i, vector &Out) { +static inline void output(int i, deque &Out) { output((unsigned)i, Out); } @@ -191,7 +191,7 @@ static inline void output(int i, vector &Out) { // // Note that using this may cause the output buffer to become unaligned... // -static inline void output_vbr(uint64_t i, vector &out) { +static inline void output_vbr(uint64_t i, deque &out) { while (1) { if (i < 0x80) { // done? out.push_back((unsigned char)i); // We know the high bit is clear... @@ -205,7 +205,7 @@ static inline void output_vbr(uint64_t i, vector &out) { } } -static inline void output_vbr(unsigned i, vector &out) { +static inline void output_vbr(unsigned i, deque &out) { while (1) { if (i < 0x80) { // done? out.push_back((unsigned char)i); // We know the high bit is clear... @@ -219,7 +219,7 @@ static inline void output_vbr(unsigned i, vector &out) { } } -static inline void output_vbr(int64_t i, vector &out) { +static inline void output_vbr(int64_t i, deque &out) { if (i < 0) output_vbr(((uint64_t)(-i) << 1) | 1, out); // Set low order sign bit... else @@ -227,7 +227,7 @@ static inline void output_vbr(int64_t i, vector &out) { } -static inline void output_vbr(int i, vector &out) { +static inline void output_vbr(int i, deque &out) { if (i < 0) output_vbr(((unsigned)(-i) << 1) | 1, out); // Set low order sign bit... else @@ -237,12 +237,12 @@ static inline void output_vbr(int i, vector &out) { // align32 - emit the minimal number of bytes that will bring us to 32 bit // alignment... // -static inline void align32(vector &Out) { +static inline void align32(deque &Out) { int NumPads = (4-(Out.size() & 3)) & 3; // Bytes to get padding to 32 bits while (NumPads--) Out.push_back((unsigned char)0xAB); } -static inline void output(const string &s, vector &Out, +static inline void output(const string &s, deque &Out, bool Aligned = true) { unsigned Len = s.length(); output_vbr(Len, Out); // Strings may have an arbitrary length... @@ -253,7 +253,7 @@ static inline void output(const string &s, vector &Out, } static inline void output_data(void *Ptr, void *End, - vector &Out, bool Align = false) { + deque &Out, bool Align = false) { #ifdef LITTLE_ENDIAN Out.insert(Out.end(), (unsigned char*)Ptr, (unsigned char*)End); #else