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 2933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2944 | 2944 |
2945 | 2945 |
2946 void Code::set_optimizable(bool value) { | 2946 void Code::set_optimizable(bool value) { |
2947 ASSERT(kind() == FUNCTION); | 2947 ASSERT(kind() == FUNCTION); |
2948 WRITE_BYTE_FIELD(this, kOptimizableOffset, value ? 1 : 0); | 2948 WRITE_BYTE_FIELD(this, kOptimizableOffset, value ? 1 : 0); |
2949 } | 2949 } |
2950 | 2950 |
2951 | 2951 |
2952 bool Code::has_deoptimization_support() { | 2952 bool Code::has_deoptimization_support() { |
2953 ASSERT(kind() == FUNCTION); | 2953 ASSERT(kind() == FUNCTION); |
2954 return READ_BYTE_FIELD(this, kHasDeoptimizationSupportOffset) == 1; | 2954 byte flags = READ_BYTE_FIELD(this, kFullCodeFlags); |
| 2955 return FullCodeFlagsHasDeoptimizationSupportField::decode(flags); |
2955 } | 2956 } |
2956 | 2957 |
2957 | 2958 |
2958 void Code::set_has_deoptimization_support(bool value) { | 2959 void Code::set_has_deoptimization_support(bool value) { |
2959 ASSERT(kind() == FUNCTION); | 2960 ASSERT(kind() == FUNCTION); |
2960 WRITE_BYTE_FIELD(this, kHasDeoptimizationSupportOffset, value ? 1 : 0); | 2961 byte flags = READ_BYTE_FIELD(this, kFullCodeFlags); |
| 2962 flags = FullCodeFlagsHasDeoptimizationSupportField::update(flags, value); |
| 2963 WRITE_BYTE_FIELD(this, kFullCodeFlags, flags); |
2961 } | 2964 } |
2962 | 2965 |
2963 | 2966 |
| 2967 bool Code::has_debug_break_slots() { |
| 2968 ASSERT(kind() == FUNCTION); |
| 2969 byte flags = READ_BYTE_FIELD(this, kFullCodeFlags); |
| 2970 return FullCodeFlagsHasDebugBreakSlotsField::decode(flags); |
| 2971 } |
| 2972 |
| 2973 |
| 2974 void Code::set_has_debug_break_slots(bool value) { |
| 2975 ASSERT(kind() == FUNCTION); |
| 2976 byte flags = READ_BYTE_FIELD(this, kFullCodeFlags); |
| 2977 flags = FullCodeFlagsHasDebugBreakSlotsField::update(flags, value); |
| 2978 WRITE_BYTE_FIELD(this, kFullCodeFlags, flags); |
| 2979 } |
| 2980 |
| 2981 |
2964 int Code::allow_osr_at_loop_nesting_level() { | 2982 int Code::allow_osr_at_loop_nesting_level() { |
2965 ASSERT(kind() == FUNCTION); | 2983 ASSERT(kind() == FUNCTION); |
2966 return READ_BYTE_FIELD(this, kAllowOSRAtLoopNestingLevelOffset); | 2984 return READ_BYTE_FIELD(this, kAllowOSRAtLoopNestingLevelOffset); |
2967 } | 2985 } |
2968 | 2986 |
2969 | 2987 |
2970 void Code::set_allow_osr_at_loop_nesting_level(int level) { | 2988 void Code::set_allow_osr_at_loop_nesting_level(int level) { |
2971 ASSERT(kind() == FUNCTION); | 2989 ASSERT(kind() == FUNCTION); |
2972 ASSERT(level >= 0 && level <= kMaxLoopNestingMarker); | 2990 ASSERT(level >= 0 && level <= kMaxLoopNestingMarker); |
2973 WRITE_BYTE_FIELD(this, kAllowOSRAtLoopNestingLevelOffset, level); | 2991 WRITE_BYTE_FIELD(this, kAllowOSRAtLoopNestingLevelOffset, level); |
(...skipping 1695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4669 #undef WRITE_INT_FIELD | 4687 #undef WRITE_INT_FIELD |
4670 #undef READ_SHORT_FIELD | 4688 #undef READ_SHORT_FIELD |
4671 #undef WRITE_SHORT_FIELD | 4689 #undef WRITE_SHORT_FIELD |
4672 #undef READ_BYTE_FIELD | 4690 #undef READ_BYTE_FIELD |
4673 #undef WRITE_BYTE_FIELD | 4691 #undef WRITE_BYTE_FIELD |
4674 | 4692 |
4675 | 4693 |
4676 } } // namespace v8::internal | 4694 } } // namespace v8::internal |
4677 | 4695 |
4678 #endif // V8_OBJECTS_INL_H_ | 4696 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |