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 3204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3215 bool has_only_simple_this_property_assignments, | 3215 bool has_only_simple_this_property_assignments, |
3216 FixedArray* this_property_assignments); | 3216 FixedArray* this_property_assignments); |
3217 | 3217 |
3218 // Clear information on assignments of the form this.x = ...; | 3218 // Clear information on assignments of the form this.x = ...; |
3219 void ClearThisPropertyAssignmentsInfo(); | 3219 void ClearThisPropertyAssignmentsInfo(); |
3220 | 3220 |
3221 // Indicate that this function only consists of assignments of the form | 3221 // Indicate that this function only consists of assignments of the form |
3222 // this.x = y; where y is either a constant or refers to an argument. | 3222 // this.x = y; where y is either a constant or refers to an argument. |
3223 inline bool has_only_simple_this_property_assignments(); | 3223 inline bool has_only_simple_this_property_assignments(); |
3224 | 3224 |
3225 inline bool try_fast_codegen(); | 3225 inline bool try_full_codegen(); |
3226 inline void set_try_fast_codegen(bool flag); | 3226 inline void set_try_full_codegen(bool flag); |
3227 | 3227 |
3228 // For functions which only contains this property assignments this provides | 3228 // For functions which only contains this property assignments this provides |
3229 // access to the names for the properties assigned. | 3229 // access to the names for the properties assigned. |
3230 DECL_ACCESSORS(this_property_assignments, Object) | 3230 DECL_ACCESSORS(this_property_assignments, Object) |
3231 inline int this_property_assignments_count(); | 3231 inline int this_property_assignments_count(); |
3232 inline void set_this_property_assignments_count(int value); | 3232 inline void set_this_property_assignments_count(int value); |
3233 String* GetThisPropertyAssignmentName(int index); | 3233 String* GetThisPropertyAssignmentName(int index); |
3234 bool IsThisPropertyAssignmentArgument(int index); | 3234 bool IsThisPropertyAssignmentArgument(int index); |
3235 int GetThisPropertyAssignmentArgument(int index); | 3235 int GetThisPropertyAssignmentArgument(int index); |
3236 Object* GetThisPropertyAssignmentConstant(int index); | 3236 Object* GetThisPropertyAssignmentConstant(int index); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3297 // Bit positions in start_position_and_type. | 3297 // Bit positions in start_position_and_type. |
3298 // The source code start position is in the 30 most significant bits of | 3298 // The source code start position is in the 30 most significant bits of |
3299 // the start_position_and_type field. | 3299 // the start_position_and_type field. |
3300 static const int kIsExpressionBit = 0; | 3300 static const int kIsExpressionBit = 0; |
3301 static const int kIsTopLevelBit = 1; | 3301 static const int kIsTopLevelBit = 1; |
3302 static const int kStartPositionShift = 2; | 3302 static const int kStartPositionShift = 2; |
3303 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); | 3303 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); |
3304 | 3304 |
3305 // Bit positions in compiler_hints. | 3305 // Bit positions in compiler_hints. |
3306 static const int kHasOnlySimpleThisPropertyAssignments = 0; | 3306 static const int kHasOnlySimpleThisPropertyAssignments = 0; |
3307 static const int kTryFastCodegen = 1; | 3307 static const int kTryFullCodegen = 1; |
3308 | 3308 |
3309 DISALLOW_IMPLICIT_CONSTRUCTORS(SharedFunctionInfo); | 3309 DISALLOW_IMPLICIT_CONSTRUCTORS(SharedFunctionInfo); |
3310 }; | 3310 }; |
3311 | 3311 |
3312 | 3312 |
3313 // JSFunction describes JavaScript functions. | 3313 // JSFunction describes JavaScript functions. |
3314 class JSFunction: public JSObject { | 3314 class JSFunction: public JSObject { |
3315 public: | 3315 public: |
3316 // [prototype_or_initial_map]: | 3316 // [prototype_or_initial_map]: |
3317 DECL_ACCESSORS(prototype_or_initial_map, Object) | 3317 DECL_ACCESSORS(prototype_or_initial_map, Object) |
(...skipping 1644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4962 } else { | 4962 } else { |
4963 value &= ~(1 << bit_position); | 4963 value &= ~(1 << bit_position); |
4964 } | 4964 } |
4965 return value; | 4965 return value; |
4966 } | 4966 } |
4967 }; | 4967 }; |
4968 | 4968 |
4969 } } // namespace v8::internal | 4969 } } // namespace v8::internal |
4970 | 4970 |
4971 #endif // V8_OBJECTS_H_ | 4971 #endif // V8_OBJECTS_H_ |
OLD | NEW |