1// Copyright 2011 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef V8_PREPARSE_DATA_FORMAT_H_ 6#define V8_PREPARSE_DATA_FORMAT_H_ 7 8namespace v8 { 9namespace internal { 10 11// Generic and general data used by preparse data recorders and readers. 12 13struct PreparseDataConstants { 14 public: 15 // Layout and constants of the preparse data exchange format. 16 static const unsigned kMagicNumber = 0xBadDead; 17 static const unsigned kCurrentVersion = 9; 18 19 static const int kMagicOffset = 0; 20 static const int kVersionOffset = 1; 21 static const int kHasErrorOffset = 2; 22 static const int kFunctionsSizeOffset = 3; 23 static const int kSizeOffset = 4; 24 static const int kHeaderSize = 5; 25 26 // If encoding a message, the following positions are fixed. 27 static const int kMessageStartPos = 0; 28 static const int kMessageEndPos = 1; 29 static const int kMessageArgCountPos = 2; 30 static const int kIsReferenceErrorPos = 3; 31 static const int kMessageTextPos = 4; 32 33 static const unsigned char kNumberTerminator = 0x80u; 34}; 35 36 37} } // namespace v8::internal. 38 39#endif // V8_PREPARSE_DATA_FORMAT_H_ 40