| 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 |