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 4273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4284 // [type-recording binary op type]: For kind BINARY_OP_IC. | 4284 // [type-recording binary op type]: For kind BINARY_OP_IC. |
4285 inline byte binary_op_type(); | 4285 inline byte binary_op_type(); |
4286 inline void set_binary_op_type(byte value); | 4286 inline void set_binary_op_type(byte value); |
4287 inline byte binary_op_result_type(); | 4287 inline byte binary_op_result_type(); |
4288 inline void set_binary_op_result_type(byte value); | 4288 inline void set_binary_op_result_type(byte value); |
4289 | 4289 |
4290 // [compare state]: For kind COMPARE_IC, tells what state the stub is in. | 4290 // [compare state]: For kind COMPARE_IC, tells what state the stub is in. |
4291 inline byte compare_state(); | 4291 inline byte compare_state(); |
4292 inline void set_compare_state(byte value); | 4292 inline void set_compare_state(byte value); |
4293 | 4293 |
| 4294 // [compare_operation]: For kind COMPARE_IC tells what compare operation the |
| 4295 // stub was generated for. |
| 4296 inline byte compare_operation(); |
| 4297 inline void set_compare_operation(byte value); |
| 4298 |
4294 // [to_boolean_foo]: For kind TO_BOOLEAN_IC tells what state the stub is in. | 4299 // [to_boolean_foo]: For kind TO_BOOLEAN_IC tells what state the stub is in. |
4295 inline byte to_boolean_state(); | 4300 inline byte to_boolean_state(); |
4296 inline void set_to_boolean_state(byte value); | 4301 inline void set_to_boolean_state(byte value); |
4297 | 4302 |
4298 // [has_function_cache]: For kind STUB tells whether there is a function | 4303 // [has_function_cache]: For kind STUB tells whether there is a function |
4299 // cache is passed to the stub. | 4304 // cache is passed to the stub. |
4300 inline bool has_function_cache(); | 4305 inline bool has_function_cache(); |
4301 inline void set_has_function_cache(bool flag); | 4306 inline void set_has_function_cache(bool flag); |
4302 | 4307 |
4303 // Get the safepoint entry for the given pc. | 4308 // Get the safepoint entry for the given pc. |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4467 static const int kHasFunctionCacheOffset = kStubMajorKeyOffset + 1; | 4472 static const int kHasFunctionCacheOffset = kStubMajorKeyOffset + 1; |
4468 | 4473 |
4469 static const int kFullCodeFlags = kOptimizableOffset + 1; | 4474 static const int kFullCodeFlags = kOptimizableOffset + 1; |
4470 class FullCodeFlagsHasDeoptimizationSupportField: | 4475 class FullCodeFlagsHasDeoptimizationSupportField: |
4471 public BitField<bool, 0, 1> {}; // NOLINT | 4476 public BitField<bool, 0, 1> {}; // NOLINT |
4472 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; | 4477 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; |
4473 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | 4478 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; |
4474 | 4479 |
4475 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; | 4480 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; |
4476 | 4481 |
| 4482 static const int kCompareOperationOffset = kCompareStateOffset + 1; |
| 4483 |
4477 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; | 4484 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; |
4478 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; | 4485 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; |
4479 | 4486 |
4480 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; | 4487 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; |
4481 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; | 4488 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; |
4482 | 4489 |
4483 // Flags layout. BitField<type, shift, size>. | 4490 // Flags layout. BitField<type, shift, size>. |
4484 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; | 4491 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; |
4485 class TypeField: public BitField<PropertyType, 3, 4> {}; | 4492 class TypeField: public BitField<PropertyType, 3, 4> {}; |
4486 class CacheHolderField: public BitField<InlineCacheHolderFlag, 7, 1> {}; | 4493 class CacheHolderField: public BitField<InlineCacheHolderFlag, 7, 1> {}; |
(...skipping 4149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8636 } else { | 8643 } else { |
8637 value &= ~(1 << bit_position); | 8644 value &= ~(1 << bit_position); |
8638 } | 8645 } |
8639 return value; | 8646 return value; |
8640 } | 8647 } |
8641 }; | 8648 }; |
8642 | 8649 |
8643 } } // namespace v8::internal | 8650 } } // namespace v8::internal |
8644 | 8651 |
8645 #endif // V8_OBJECTS_H_ | 8652 #endif // V8_OBJECTS_H_ |
OLD | NEW |