OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 3166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3177 | 3177 |
3178 // [type]: the script type. | 3178 // [type]: the script type. |
3179 DECL_ACCESSORS(type, Smi) | 3179 DECL_ACCESSORS(type, Smi) |
3180 | 3180 |
3181 // [compilation]: how the the script was compiled. | 3181 // [compilation]: how the the script was compiled. |
3182 DECL_ACCESSORS(compilation_type, Smi) | 3182 DECL_ACCESSORS(compilation_type, Smi) |
3183 | 3183 |
3184 // [line_ends]: FixedArray of line ends positions. | 3184 // [line_ends]: FixedArray of line ends positions. |
3185 DECL_ACCESSORS(line_ends, Object) | 3185 DECL_ACCESSORS(line_ends, Object) |
3186 | 3186 |
3187 // [eval_from_function]: for eval scripts the funcion from which eval was | 3187 // [eval_from_shared]: for eval scripts the shared funcion info for the |
3188 // called. | 3188 // function from which eval was called. |
3189 DECL_ACCESSORS(eval_from_function, Object) | 3189 DECL_ACCESSORS(eval_from_shared, Object) |
3190 | 3190 |
3191 // [eval_from_instructions_offset]: the instruction offset in the code for the | 3191 // [eval_from_instructions_offset]: the instruction offset in the code for the |
3192 // function from which eval was called where eval was called. | 3192 // function from which eval was called where eval was called. |
3193 DECL_ACCESSORS(eval_from_instructions_offset, Smi) | 3193 DECL_ACCESSORS(eval_from_instructions_offset, Smi) |
3194 | 3194 |
3195 static inline Script* cast(Object* obj); | 3195 static inline Script* cast(Object* obj); |
3196 | 3196 |
3197 // If script source is an external string, check that the underlying | 3197 // If script source is an external string, check that the underlying |
3198 // resource is accessible. Otherwise, always return true. | 3198 // resource is accessible. Otherwise, always return true. |
3199 inline bool HasValidSource(); | 3199 inline bool HasValidSource(); |
3200 | 3200 |
3201 #ifdef DEBUG | 3201 #ifdef DEBUG |
3202 void ScriptPrint(); | 3202 void ScriptPrint(); |
3203 void ScriptVerify(); | 3203 void ScriptVerify(); |
3204 #endif | 3204 #endif |
3205 | 3205 |
3206 static const int kSourceOffset = HeapObject::kHeaderSize; | 3206 static const int kSourceOffset = HeapObject::kHeaderSize; |
3207 static const int kNameOffset = kSourceOffset + kPointerSize; | 3207 static const int kNameOffset = kSourceOffset + kPointerSize; |
3208 static const int kLineOffsetOffset = kNameOffset + kPointerSize; | 3208 static const int kLineOffsetOffset = kNameOffset + kPointerSize; |
3209 static const int kColumnOffsetOffset = kLineOffsetOffset + kPointerSize; | 3209 static const int kColumnOffsetOffset = kLineOffsetOffset + kPointerSize; |
3210 static const int kDataOffset = kColumnOffsetOffset + kPointerSize; | 3210 static const int kDataOffset = kColumnOffsetOffset + kPointerSize; |
3211 static const int kContextOffset = kDataOffset + kPointerSize; | 3211 static const int kContextOffset = kDataOffset + kPointerSize; |
3212 static const int kWrapperOffset = kContextOffset + kPointerSize; | 3212 static const int kWrapperOffset = kContextOffset + kPointerSize; |
3213 static const int kTypeOffset = kWrapperOffset + kPointerSize; | 3213 static const int kTypeOffset = kWrapperOffset + kPointerSize; |
3214 static const int kCompilationTypeOffset = kTypeOffset + kPointerSize; | 3214 static const int kCompilationTypeOffset = kTypeOffset + kPointerSize; |
3215 static const int kLineEndsOffset = kCompilationTypeOffset + kPointerSize; | 3215 static const int kLineEndsOffset = kCompilationTypeOffset + kPointerSize; |
3216 static const int kIdOffset = kLineEndsOffset + kPointerSize; | 3216 static const int kIdOffset = kLineEndsOffset + kPointerSize; |
3217 static const int kEvalFromFunctionOffset = kIdOffset + kPointerSize; | 3217 static const int kEvalFromSharedOffset = kIdOffset + kPointerSize; |
3218 static const int kEvalFrominstructionsOffsetOffset = | 3218 static const int kEvalFrominstructionsOffsetOffset = |
3219 kEvalFromFunctionOffset + kPointerSize; | 3219 kEvalFromSharedOffset + kPointerSize; |
3220 static const int kSize = kEvalFrominstructionsOffsetOffset + kPointerSize; | 3220 static const int kSize = kEvalFrominstructionsOffsetOffset + kPointerSize; |
3221 | 3221 |
3222 private: | 3222 private: |
3223 DISALLOW_IMPLICIT_CONSTRUCTORS(Script); | 3223 DISALLOW_IMPLICIT_CONSTRUCTORS(Script); |
3224 }; | 3224 }; |
3225 | 3225 |
3226 | 3226 |
3227 // SharedFunctionInfo describes the JSFunction information that can be | 3227 // SharedFunctionInfo describes the JSFunction information that can be |
3228 // shared by multiple instances of the function. | 3228 // shared by multiple instances of the function. |
3229 class SharedFunctionInfo: public HeapObject { | 3229 class SharedFunctionInfo: public HeapObject { |
(...skipping 1812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5042 } else { | 5042 } else { |
5043 value &= ~(1 << bit_position); | 5043 value &= ~(1 << bit_position); |
5044 } | 5044 } |
5045 return value; | 5045 return value; |
5046 } | 5046 } |
5047 }; | 5047 }; |
5048 | 5048 |
5049 } } // namespace v8::internal | 5049 } } // namespace v8::internal |
5050 | 5050 |
5051 #endif // V8_OBJECTS_H_ | 5051 #endif // V8_OBJECTS_H_ |
OLD | NEW |