Chromium Code Reviews| Index: src/objects-inl.h | 
| diff --git a/src/objects-inl.h b/src/objects-inl.h | 
| index 3b0e96f1ef93793398b98eb7a5daa50ca1c156a6..6ef90c045f7fa7952ef563471bc24bf547b0c0e4 100644 | 
| --- a/src/objects-inl.h | 
| +++ b/src/objects-inl.h | 
| @@ -2945,13 +2945,35 @@ void Code::set_optimizable(bool value) { | 
| bool Code::has_deoptimization_support() { | 
| ASSERT(kind() == FUNCTION); | 
| - return READ_BYTE_FIELD(this, kHasDeoptimizationSupportOffset) == 1; | 
| + return ((READ_BYTE_FIELD(this, kFullCodeFlags) & | 
| + kFullCodeFlagsHasDeoptimizationSupportMask) >> | 
| + kFullCodeFlagsHasDeoptimizationSupportShift) == 1; | 
| 
 
Sven Panne
2011/09/08 08:07:59
Why do we need both a mask and a shift? A single b
 
Søren Thygesen Gjesse
2011/09/13 07:31:19
This pattern is used for all the other flags (at l
 
Sven Panne
2011/09/13 07:51:51
I think Kevin changed Code to use BitField for fla
 
Søren Thygesen Gjesse
2011/09/13 08:06:29
I also noticed that after the rebase. This has now
 
 | 
| } | 
| void Code::set_has_deoptimization_support(bool value) { | 
| ASSERT(kind() == FUNCTION); | 
| - WRITE_BYTE_FIELD(this, kHasDeoptimizationSupportOffset, value ? 1 : 0); | 
| + byte flags = READ_BYTE_FIELD(this, kFullCodeFlags); | 
| + flags = (flags & ~kFullCodeFlagsHasDeoptimizationSupportMask) | | 
| + ((value ? 1 : 0) << kFullCodeFlagsHasDeoptimizationSupportShift); | 
| + WRITE_BYTE_FIELD(this, kFullCodeFlags, flags); | 
| +} | 
| + | 
| + | 
| +bool Code::has_debug_break_slots() { | 
| + ASSERT(kind() == FUNCTION); | 
| + return ((READ_BYTE_FIELD(this, kFullCodeFlags) & | 
| + kFullCodeFlagsHasDebugBreakSlotsMask) >> | 
| + kFullCodeFlagsHasDebugBreakSlotsShift) == 1; | 
| +} | 
| + | 
| + | 
| +void Code::set_has_debug_break_slots(bool value) { | 
| + ASSERT(kind() == FUNCTION); | 
| + byte flags = READ_BYTE_FIELD(this, kFullCodeFlags); | 
| + flags = (flags & ~kFullCodeFlagsHasDebugBreakSlotsMask) | | 
| + ((value ? 1 : 0) << kFullCodeFlagsHasDebugBreakSlotsShift); | 
| + WRITE_BYTE_FIELD(this, kFullCodeFlags, flags); | 
| } |