| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 5182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5193 // [major_key]: For kind STUB or BINARY_OP_IC, the major key. | 5193 // [major_key]: For kind STUB or BINARY_OP_IC, the major key. |
| 5194 inline int major_key(); | 5194 inline int major_key(); |
| 5195 inline void set_major_key(int value); | 5195 inline void set_major_key(int value); |
| 5196 inline bool has_major_key(); | 5196 inline bool has_major_key(); |
| 5197 | 5197 |
| 5198 // For kind STUB or ICs, tells whether or not a code object was generated by | 5198 // For kind STUB or ICs, tells whether or not a code object was generated by |
| 5199 // the optimizing compiler (but it may not be an optimized function). | 5199 // the optimizing compiler (but it may not be an optimized function). |
| 5200 bool is_crankshafted(); | 5200 bool is_crankshafted(); |
| 5201 inline void set_is_crankshafted(bool value); | 5201 inline void set_is_crankshafted(bool value); |
| 5202 | 5202 |
| 5203 // For stubs, tells whether they should always exist, so that they can be | |
| 5204 // called from other stubs. | |
| 5205 inline bool is_pregenerated(); | |
| 5206 inline void set_is_pregenerated(bool value); | |
| 5207 | |
| 5208 // [optimizable]: For FUNCTION kind, tells if it is optimizable. | 5203 // [optimizable]: For FUNCTION kind, tells if it is optimizable. |
| 5209 inline bool optimizable(); | 5204 inline bool optimizable(); |
| 5210 inline void set_optimizable(bool value); | 5205 inline void set_optimizable(bool value); |
| 5211 | 5206 |
| 5212 // [has_deoptimization_support]: For FUNCTION kind, tells if it has | 5207 // [has_deoptimization_support]: For FUNCTION kind, tells if it has |
| 5213 // deoptimization support. | 5208 // deoptimization support. |
| 5214 inline bool has_deoptimization_support(); | 5209 inline bool has_deoptimization_support(); |
| 5215 inline void set_has_deoptimization_support(bool value); | 5210 inline void set_has_deoptimization_support(bool value); |
| 5216 | 5211 |
| 5217 // [has_debug_break_slots]: For FUNCTION kind, tells if it has | 5212 // [has_debug_break_slots]: For FUNCTION kind, tells if it has |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5485 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | 5480 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; |
| 5486 | 5481 |
| 5487 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; | 5482 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; |
| 5488 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; | 5483 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; |
| 5489 | 5484 |
| 5490 // Flags layout. BitField<type, shift, size>. | 5485 // Flags layout. BitField<type, shift, size>. |
| 5491 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; | 5486 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; |
| 5492 class TypeField: public BitField<StubType, 3, 1> {}; | 5487 class TypeField: public BitField<StubType, 3, 1> {}; |
| 5493 class CacheHolderField: public BitField<InlineCacheHolderFlag, 5, 1> {}; | 5488 class CacheHolderField: public BitField<InlineCacheHolderFlag, 5, 1> {}; |
| 5494 class KindField: public BitField<Kind, 6, 4> {}; | 5489 class KindField: public BitField<Kind, 6, 4> {}; |
| 5495 class IsPregeneratedField: public BitField<bool, 10, 1> {}; | 5490 // TODO(bmeurer): Bit 10 is available for free use. :-) |
| 5496 class ExtraICStateField: public BitField<ExtraICState, 11, 6> {}; | 5491 class ExtraICStateField: public BitField<ExtraICState, 11, 6> {}; |
| 5497 class ExtendedExtraICStateField: public BitField<ExtraICState, 11, | 5492 class ExtendedExtraICStateField: public BitField<ExtraICState, 11, |
| 5498 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT | 5493 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT |
| 5499 STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); | 5494 STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); |
| 5500 | 5495 |
| 5501 // KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) | 5496 // KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) |
| 5502 static const int kStackSlotsFirstBit = 0; | 5497 static const int kStackSlotsFirstBit = 0; |
| 5503 static const int kStackSlotsBitCount = 24; | 5498 static const int kStackSlotsBitCount = 24; |
| 5504 static const int kHasFunctionCacheFirstBit = | 5499 static const int kHasFunctionCacheFirstBit = |
| 5505 kStackSlotsFirstBit + kStackSlotsBitCount; | 5500 kStackSlotsFirstBit + kStackSlotsBitCount; |
| (...skipping 1027 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6533 V(Array.prototype, pop, ArrayPop) \ | 6528 V(Array.prototype, pop, ArrayPop) \ |
| 6534 V(Function.prototype, apply, FunctionApply) \ | 6529 V(Function.prototype, apply, FunctionApply) \ |
| 6535 V(String.prototype, charCodeAt, StringCharCodeAt) \ | 6530 V(String.prototype, charCodeAt, StringCharCodeAt) \ |
| 6536 V(String.prototype, charAt, StringCharAt) \ | 6531 V(String.prototype, charAt, StringCharAt) \ |
| 6537 V(String, fromCharCode, StringFromCharCode) \ | 6532 V(String, fromCharCode, StringFromCharCode) \ |
| 6538 V(Math, floor, MathFloor) \ | 6533 V(Math, floor, MathFloor) \ |
| 6539 V(Math, round, MathRound) \ | 6534 V(Math, round, MathRound) \ |
| 6540 V(Math, ceil, MathCeil) \ | 6535 V(Math, ceil, MathCeil) \ |
| 6541 V(Math, abs, MathAbs) \ | 6536 V(Math, abs, MathAbs) \ |
| 6542 V(Math, log, MathLog) \ | 6537 V(Math, log, MathLog) \ |
| 6543 V(Math, sin, MathSin) \ | |
| 6544 V(Math, cos, MathCos) \ | |
| 6545 V(Math, tan, MathTan) \ | |
| 6546 V(Math, asin, MathASin) \ | |
| 6547 V(Math, acos, MathACos) \ | |
| 6548 V(Math, atan, MathATan) \ | |
| 6549 V(Math, exp, MathExp) \ | 6538 V(Math, exp, MathExp) \ |
| 6550 V(Math, sqrt, MathSqrt) \ | 6539 V(Math, sqrt, MathSqrt) \ |
| 6551 V(Math, pow, MathPow) \ | 6540 V(Math, pow, MathPow) \ |
| 6552 V(Math, max, MathMax) \ | 6541 V(Math, max, MathMax) \ |
| 6553 V(Math, min, MathMin) \ | 6542 V(Math, min, MathMin) \ |
| 6554 V(Math, imul, MathImul) | 6543 V(Math, imul, MathImul) |
| 6555 | 6544 |
| 6556 enum BuiltinFunctionId { | 6545 enum BuiltinFunctionId { |
| 6557 kArrayCode, | 6546 kArrayCode, |
| 6558 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ | 6547 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ |
| (...skipping 4099 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10658 } else { | 10647 } else { |
| 10659 value &= ~(1 << bit_position); | 10648 value &= ~(1 << bit_position); |
| 10660 } | 10649 } |
| 10661 return value; | 10650 return value; |
| 10662 } | 10651 } |
| 10663 }; | 10652 }; |
| 10664 | 10653 |
| 10665 } } // namespace v8::internal | 10654 } } // namespace v8::internal |
| 10666 | 10655 |
| 10667 #endif // V8_OBJECTS_H_ | 10656 #endif // V8_OBJECTS_H_ |
| OLD | NEW |