| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
| 6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 | 9 |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 6650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6661 inline void set_num_literals(int value); | 6661 inline void set_num_literals(int value); |
| 6662 | 6662 |
| 6663 // [start_position_and_type]: Field used to store both the source code | 6663 // [start_position_and_type]: Field used to store both the source code |
| 6664 // position, whether or not the function is a function expression, | 6664 // position, whether or not the function is a function expression, |
| 6665 // and whether or not the function is a toplevel function. The two | 6665 // and whether or not the function is a toplevel function. The two |
| 6666 // least significants bit indicates whether the function is an | 6666 // least significants bit indicates whether the function is an |
| 6667 // expression and the rest contains the source code position. | 6667 // expression and the rest contains the source code position. |
| 6668 inline int start_position_and_type() const; | 6668 inline int start_position_and_type() const; |
| 6669 inline void set_start_position_and_type(int value); | 6669 inline void set_start_position_and_type(int value); |
| 6670 | 6670 |
| 6671 // The function is subject to debugging if a debug info is attached. |
| 6672 inline bool HasDebugInfo(); |
| 6673 inline DebugInfo* GetDebugInfo(); |
| 6674 |
| 6675 // A function has debug code if the compiled code has debug break slots. |
| 6676 inline bool HasDebugCode(); |
| 6677 |
| 6671 // [debug info]: Debug information. | 6678 // [debug info]: Debug information. |
| 6672 DECL_ACCESSORS(debug_info, Object) | 6679 DECL_ACCESSORS(debug_info, Object) |
| 6673 | 6680 |
| 6674 // [inferred name]: Name inferred from variable or property | 6681 // [inferred name]: Name inferred from variable or property |
| 6675 // assignment of this function. Used to facilitate debugging and | 6682 // assignment of this function. Used to facilitate debugging and |
| 6676 // profiling of JavaScript code written in OO style, where almost | 6683 // profiling of JavaScript code written in OO style, where almost |
| 6677 // all functions are anonymous but are assigned to object | 6684 // all functions are anonymous but are assigned to object |
| 6678 // properties. | 6685 // properties. |
| 6679 DECL_ACCESSORS(inferred_name, String) | 6686 DECL_ACCESSORS(inferred_name, String) |
| 6680 | 6687 |
| (...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7246 // [[Call]] and [[Construct]] description in ECMA-262, section | 7253 // [[Call]] and [[Construct]] description in ECMA-262, section |
| 7247 // 8.6.2, page 27. | 7254 // 8.6.2, page 27. |
| 7248 inline Code* code(); | 7255 inline Code* code(); |
| 7249 inline void set_code(Code* code); | 7256 inline void set_code(Code* code); |
| 7250 inline void set_code_no_write_barrier(Code* code); | 7257 inline void set_code_no_write_barrier(Code* code); |
| 7251 inline void ReplaceCode(Code* code); | 7258 inline void ReplaceCode(Code* code); |
| 7252 | 7259 |
| 7253 // Tells whether this function is builtin. | 7260 // Tells whether this function is builtin. |
| 7254 inline bool IsBuiltin(); | 7261 inline bool IsBuiltin(); |
| 7255 | 7262 |
| 7263 // Tells whether this function inlines the given shared function info. |
| 7264 bool Inlines(SharedFunctionInfo* candidate); |
| 7265 |
| 7256 // Tells whether this function should be subject to debugging. | 7266 // Tells whether this function should be subject to debugging. |
| 7257 inline bool IsSubjectToDebugging(); | 7267 inline bool IsSubjectToDebugging(); |
| 7258 | 7268 |
| 7259 // Tells whether or not the function needs arguments adaption. | 7269 // Tells whether or not the function needs arguments adaption. |
| 7260 inline bool NeedsArgumentsAdaption(); | 7270 inline bool NeedsArgumentsAdaption(); |
| 7261 | 7271 |
| 7262 // Tells whether or not this function has been optimized. | 7272 // Tells whether or not this function has been optimized. |
| 7263 inline bool IsOptimized(); | 7273 inline bool IsOptimized(); |
| 7264 | 7274 |
| 7265 // Mark this function for lazy recompilation. The function will be | 7275 // Mark this function for lazy recompilation. The function will be |
| (...skipping 3519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10785 } else { | 10795 } else { |
| 10786 value &= ~(1 << bit_position); | 10796 value &= ~(1 << bit_position); |
| 10787 } | 10797 } |
| 10788 return value; | 10798 return value; |
| 10789 } | 10799 } |
| 10790 }; | 10800 }; |
| 10791 | 10801 |
| 10792 } } // namespace v8::internal | 10802 } } // namespace v8::internal |
| 10793 | 10803 |
| 10794 #endif // V8_OBJECTS_H_ | 10804 #endif // V8_OBJECTS_H_ |
| OLD | NEW |