| Index: src/objects.h
|
| ===================================================================
|
| --- src/objects.h (revision 5030)
|
| +++ src/objects.h (working copy)
|
| @@ -2736,9 +2736,13 @@
|
| inline int instruction_size();
|
| inline void set_instruction_size(int value);
|
|
|
| - // [relocation_size]: Size of relocation information.
|
| + // [relocation_info]: Code relocation information
|
| + DECL_ACCESSORS(relocation_info, ByteArray)
|
| +
|
| + // Unchecked accessor to be used during GC.
|
| + inline ByteArray* unchecked_relocation_info();
|
| +
|
| inline int relocation_size();
|
| - inline void set_relocation_size(int value);
|
|
|
| // [sinfo_size]: Size of scope information.
|
| inline int sinfo_size();
|
| @@ -2797,6 +2801,9 @@
|
| // Returns the address of the first instruction.
|
| inline byte* instruction_start();
|
|
|
| + // Returns the address right after the last instruction.
|
| + inline byte* instruction_end();
|
| +
|
| // Returns the size of the instructions, padding, and relocation information.
|
| inline int body_size();
|
|
|
| @@ -2857,8 +2864,8 @@
|
|
|
| // Layout description.
|
| static const int kInstructionSizeOffset = HeapObject::kHeaderSize;
|
| - static const int kRelocationSizeOffset = kInstructionSizeOffset + kIntSize;
|
| - static const int kSInfoSizeOffset = kRelocationSizeOffset + kIntSize;
|
| + static const int kRelocationInfoOffset = kInstructionSizeOffset + kIntSize;
|
| + static const int kSInfoSizeOffset = kRelocationInfoOffset + kPointerSize;
|
| static const int kFlagsOffset = kSInfoSizeOffset + kIntSize;
|
| static const int kKindSpecificFlagsOffset = kFlagsOffset + kIntSize;
|
| // Add padding to align the instruction start following right after
|
| @@ -4406,6 +4413,8 @@
|
| // Each character in the AsciiString is an ascii character.
|
| class SeqAsciiString: public SeqString {
|
| public:
|
| + static const bool kHasAsciiEncoding = true;
|
| +
|
| // Dispatched behavior.
|
| inline uint16_t SeqAsciiStringGet(int index);
|
| inline void SeqAsciiStringSet(int index, uint16_t value);
|
| @@ -4455,6 +4464,8 @@
|
| // Each character in the TwoByteString is a two-byte uint16_t.
|
| class SeqTwoByteString: public SeqString {
|
| public:
|
| + static const bool kHasAsciiEncoding = false;
|
| +
|
| // Dispatched behavior.
|
| inline uint16_t SeqTwoByteStringGet(int index);
|
| inline void SeqTwoByteStringSet(int index, uint16_t value);
|
| @@ -4587,6 +4598,8 @@
|
| // ASCII string.
|
| class ExternalAsciiString: public ExternalString {
|
| public:
|
| + static const bool kHasAsciiEncoding = true;
|
| +
|
| typedef v8::String::ExternalAsciiStringResource Resource;
|
|
|
| // The underlying resource.
|
| @@ -4619,6 +4632,8 @@
|
| // encoded string.
|
| class ExternalTwoByteString: public ExternalString {
|
| public:
|
| + static const bool kHasAsciiEncoding = false;
|
| +
|
| typedef v8::String::ExternalStringResource Resource;
|
|
|
| // The underlying string resource.
|
|
|