| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 5831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5842 | 5842 |
| 5843 // [context_data]: context data for the context this script was compiled in. | 5843 // [context_data]: context data for the context this script was compiled in. |
| 5844 DECL_ACCESSORS(context_data, Object) | 5844 DECL_ACCESSORS(context_data, Object) |
| 5845 | 5845 |
| 5846 // [wrapper]: the wrapper cache. | 5846 // [wrapper]: the wrapper cache. |
| 5847 DECL_ACCESSORS(wrapper, Foreign) | 5847 DECL_ACCESSORS(wrapper, Foreign) |
| 5848 | 5848 |
| 5849 // [type]: the script type. | 5849 // [type]: the script type. |
| 5850 DECL_ACCESSORS(type, Smi) | 5850 DECL_ACCESSORS(type, Smi) |
| 5851 | 5851 |
| 5852 // [compilation]: how the the script was compiled. |
| 5853 DECL_ACCESSORS(compilation_type, Smi) |
| 5854 |
| 5855 // [is_compiled]: determines whether the script has already been compiled. |
| 5856 DECL_ACCESSORS(compilation_state, Smi) |
| 5857 |
| 5852 // [line_ends]: FixedArray of line ends positions. | 5858 // [line_ends]: FixedArray of line ends positions. |
| 5853 DECL_ACCESSORS(line_ends, Object) | 5859 DECL_ACCESSORS(line_ends, Object) |
| 5854 | 5860 |
| 5855 // [eval_from_shared]: for eval scripts the shared funcion info for the | 5861 // [eval_from_shared]: for eval scripts the shared funcion info for the |
| 5856 // function from which eval was called. | 5862 // function from which eval was called. |
| 5857 DECL_ACCESSORS(eval_from_shared, Object) | 5863 DECL_ACCESSORS(eval_from_shared, Object) |
| 5858 | 5864 |
| 5859 // [eval_from_instructions_offset]: the instruction offset in the code for the | 5865 // [eval_from_instructions_offset]: the instruction offset in the code for the |
| 5860 // function from which eval was called where eval was called. | 5866 // function from which eval was called where eval was called. |
| 5861 DECL_ACCESSORS(eval_from_instructions_offset, Smi) | 5867 DECL_ACCESSORS(eval_from_instructions_offset, Smi) |
| 5862 | 5868 |
| 5863 // [flags]: Holds an exciting bitfield. | |
| 5864 DECL_ACCESSORS(flags, Smi) | |
| 5865 | |
| 5866 // [compilation_type]: how the the script was compiled. Encoded in the | |
| 5867 // 'flags' field. | |
| 5868 inline CompilationType compilation_type(); | |
| 5869 inline void set_compilation_type(CompilationType type); | |
| 5870 | |
| 5871 // [compilation_state]: determines whether the script has already been | |
| 5872 // compiled. Encoded in the 'flags' field. | |
| 5873 inline CompilationState compilation_state(); | |
| 5874 inline void set_compilation_state(CompilationState state); | |
| 5875 | |
| 5876 static inline Script* cast(Object* obj); | 5869 static inline Script* cast(Object* obj); |
| 5877 | 5870 |
| 5878 // If script source is an external string, check that the underlying | 5871 // If script source is an external string, check that the underlying |
| 5879 // resource is accessible. Otherwise, always return true. | 5872 // resource is accessible. Otherwise, always return true. |
| 5880 inline bool HasValidSource(); | 5873 inline bool HasValidSource(); |
| 5881 | 5874 |
| 5882 // Dispatched behavior. | 5875 // Dispatched behavior. |
| 5883 DECLARE_PRINTER(Script) | 5876 DECLARE_PRINTER(Script) |
| 5884 DECLARE_VERIFIER(Script) | 5877 DECLARE_VERIFIER(Script) |
| 5885 | 5878 |
| 5886 static const int kSourceOffset = HeapObject::kHeaderSize; | 5879 static const int kSourceOffset = HeapObject::kHeaderSize; |
| 5887 static const int kNameOffset = kSourceOffset + kPointerSize; | 5880 static const int kNameOffset = kSourceOffset + kPointerSize; |
| 5888 static const int kLineOffsetOffset = kNameOffset + kPointerSize; | 5881 static const int kLineOffsetOffset = kNameOffset + kPointerSize; |
| 5889 static const int kColumnOffsetOffset = kLineOffsetOffset + kPointerSize; | 5882 static const int kColumnOffsetOffset = kLineOffsetOffset + kPointerSize; |
| 5890 static const int kDataOffset = kColumnOffsetOffset + kPointerSize; | 5883 static const int kDataOffset = kColumnOffsetOffset + kPointerSize; |
| 5891 static const int kContextOffset = kDataOffset + kPointerSize; | 5884 static const int kContextOffset = kDataOffset + kPointerSize; |
| 5892 static const int kWrapperOffset = kContextOffset + kPointerSize; | 5885 static const int kWrapperOffset = kContextOffset + kPointerSize; |
| 5893 static const int kTypeOffset = kWrapperOffset + kPointerSize; | 5886 static const int kTypeOffset = kWrapperOffset + kPointerSize; |
| 5894 static const int kLineEndsOffset = kTypeOffset + kPointerSize; | 5887 static const int kCompilationTypeOffset = kTypeOffset + kPointerSize; |
| 5888 static const int kCompilationStateOffset = |
| 5889 kCompilationTypeOffset + kPointerSize; |
| 5890 static const int kLineEndsOffset = kCompilationStateOffset + kPointerSize; |
| 5895 static const int kIdOffset = kLineEndsOffset + kPointerSize; | 5891 static const int kIdOffset = kLineEndsOffset + kPointerSize; |
| 5896 static const int kEvalFromSharedOffset = kIdOffset + kPointerSize; | 5892 static const int kEvalFromSharedOffset = kIdOffset + kPointerSize; |
| 5897 static const int kEvalFrominstructionsOffsetOffset = | 5893 static const int kEvalFrominstructionsOffsetOffset = |
| 5898 kEvalFromSharedOffset + kPointerSize; | 5894 kEvalFromSharedOffset + kPointerSize; |
| 5899 static const int kFlagsOffset = | 5895 static const int kSize = kEvalFrominstructionsOffsetOffset + kPointerSize; |
| 5900 kEvalFrominstructionsOffsetOffset + kPointerSize; | |
| 5901 static const int kSize = kFlagsOffset + kPointerSize; | |
| 5902 | 5896 |
| 5903 private: | 5897 private: |
| 5904 // Bit positions in the flags field. | |
| 5905 static const int kCompilationTypeBit = 0; | |
| 5906 static const int kCompilationStateBit = 1; | |
| 5907 | |
| 5908 DISALLOW_IMPLICIT_CONSTRUCTORS(Script); | 5898 DISALLOW_IMPLICIT_CONSTRUCTORS(Script); |
| 5909 }; | 5899 }; |
| 5910 | 5900 |
| 5911 | 5901 |
| 5912 // List of builtin functions we want to identify to improve code | 5902 // List of builtin functions we want to identify to improve code |
| 5913 // generation. | 5903 // generation. |
| 5914 // | 5904 // |
| 5915 // Each entry has a name of a global object property holding an object | 5905 // Each entry has a name of a global object property holding an object |
| 5916 // optionally followed by ".prototype", a name of a builtin function | 5906 // optionally followed by ".prototype", a name of a builtin function |
| 5917 // on the object (the one the id is set for), and a label. | 5907 // on the object (the one the id is set for), and a label. |
| (...skipping 3971 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9889 } else { | 9879 } else { |
| 9890 value &= ~(1 << bit_position); | 9880 value &= ~(1 << bit_position); |
| 9891 } | 9881 } |
| 9892 return value; | 9882 return value; |
| 9893 } | 9883 } |
| 9894 }; | 9884 }; |
| 9895 | 9885 |
| 9896 } } // namespace v8::internal | 9886 } } // namespace v8::internal |
| 9897 | 9887 |
| 9898 #endif // V8_OBJECTS_H_ | 9888 #endif // V8_OBJECTS_H_ |
| OLD | NEW |