OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 4579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4590 inline bool strict_mode(); | 4590 inline bool strict_mode(); |
4591 inline void set_strict_mode(bool value); | 4591 inline void set_strict_mode(bool value); |
4592 | 4592 |
4593 // Indicates whether the function is a native function. | 4593 // Indicates whether the function is a native function. |
4594 // These needs special threatment in .call and .apply since | 4594 // These needs special threatment in .call and .apply since |
4595 // null passed as the receiver should not be translated to the | 4595 // null passed as the receiver should not be translated to the |
4596 // global object. | 4596 // global object. |
4597 inline bool native(); | 4597 inline bool native(); |
4598 inline void set_native(bool value); | 4598 inline void set_native(bool value); |
4599 | 4599 |
| 4600 // Indicates whether the function is a bound function created using |
| 4601 // the bind function. |
| 4602 inline bool bound(); |
| 4603 inline void set_bound(bool value); |
| 4604 |
4600 // Indicates whether or not the code in the shared function support | 4605 // Indicates whether or not the code in the shared function support |
4601 // deoptimization. | 4606 // deoptimization. |
4602 inline bool has_deoptimization_support(); | 4607 inline bool has_deoptimization_support(); |
4603 | 4608 |
4604 // Enable deoptimization support through recompiled code. | 4609 // Enable deoptimization support through recompiled code. |
4605 void EnableDeoptimizationSupport(Code* recompiled); | 4610 void EnableDeoptimizationSupport(Code* recompiled); |
4606 | 4611 |
4607 // Disable (further) attempted optimization of all functions sharing this | 4612 // Disable (further) attempted optimization of all functions sharing this |
4608 // shared function info. The function is the one we actually tried to | 4613 // shared function info. The function is the one we actually tried to |
4609 // optimize. | 4614 // optimize. |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4776 | 4781 |
4777 // Bit positions in compiler_hints. | 4782 // Bit positions in compiler_hints. |
4778 static const int kHasOnlySimpleThisPropertyAssignments = 0; | 4783 static const int kHasOnlySimpleThisPropertyAssignments = 0; |
4779 static const int kAllowLazyCompilation = 1; | 4784 static const int kAllowLazyCompilation = 1; |
4780 static const int kLiveObjectsMayExist = 2; | 4785 static const int kLiveObjectsMayExist = 2; |
4781 static const int kCodeAgeShift = 3; | 4786 static const int kCodeAgeShift = 3; |
4782 static const int kCodeAgeMask = 0x7; | 4787 static const int kCodeAgeMask = 0x7; |
4783 static const int kOptimizationDisabled = 6; | 4788 static const int kOptimizationDisabled = 6; |
4784 static const int kStrictModeFunction = 7; | 4789 static const int kStrictModeFunction = 7; |
4785 static const int kNative = 8; | 4790 static const int kNative = 8; |
| 4791 static const int kBoundFunction = 9; |
4786 | 4792 |
4787 private: | 4793 private: |
4788 #if V8_HOST_ARCH_32_BIT | 4794 #if V8_HOST_ARCH_32_BIT |
4789 // On 32 bit platforms, compiler hints is a smi. | 4795 // On 32 bit platforms, compiler hints is a smi. |
4790 static const int kCompilerHintsSmiTagSize = kSmiTagSize; | 4796 static const int kCompilerHintsSmiTagSize = kSmiTagSize; |
4791 static const int kCompilerHintsSize = kPointerSize; | 4797 static const int kCompilerHintsSize = kPointerSize; |
4792 #else | 4798 #else |
4793 // On 64 bit platforms, compiler hints is not a smi, see comment above. | 4799 // On 64 bit platforms, compiler hints is not a smi, see comment above. |
4794 static const int kCompilerHintsSmiTagSize = 0; | 4800 static const int kCompilerHintsSmiTagSize = 0; |
4795 static const int kCompilerHintsSize = kIntSize; | 4801 static const int kCompilerHintsSize = kIntSize; |
(...skipping 2283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7079 } else { | 7085 } else { |
7080 value &= ~(1 << bit_position); | 7086 value &= ~(1 << bit_position); |
7081 } | 7087 } |
7082 return value; | 7088 return value; |
7083 } | 7089 } |
7084 }; | 7090 }; |
7085 | 7091 |
7086 } } // namespace v8::internal | 7092 } } // namespace v8::internal |
7087 | 7093 |
7088 #endif // V8_OBJECTS_H_ | 7094 #endif // V8_OBJECTS_H_ |
OLD | NEW |