Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index a7aabe23e0f856b18734e09f3fe4f40c7b4b508d..9e887e18540d2e4b77cd1ae131337d51ded33f18 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -4910,6 +4910,10 @@ class Code: public HeapObject { |
| inline int instruction_size() const; |
| inline void set_instruction_size(int value); |
| + // [unwinding_info_size]: Size of the unwinding information. |
| + inline int unwinding_info_size() const; |
| + inline void set_unwinding_info_size(int value); |
| + |
| // [relocation_info]: Code relocation information |
| DECL_ACCESSORS(relocation_info, ByteArray) |
| void InvalidateRelocation(); |
| @@ -4985,6 +4989,10 @@ class Code: public HeapObject { |
| inline void set_raw_kind_specific_flags1(int value); |
| inline void set_raw_kind_specific_flags2(int value); |
| + // [has_unwinding_info]: Whether this code object has unwinding information. |
| + // If it doesn't, unwinding_information_start() will point to invalid data. |
| + DECL_BOOLEAN_ACCESSORS(has_unwinding_info) |
|
rmcilroy
2016/06/21 13:47:44
nit - move down to near unwinding_info_start.
Als
Stefano Sanfilippo
2016/06/23 15:23:44
Done.
|
| + |
| // Testers for interpreter builtins. |
| inline bool is_interpreter_trampoline_builtin(); |
| @@ -5135,6 +5143,12 @@ class Code: public HeapObject { |
| // Returns the address of the first relocation info (read backwards!). |
| inline byte* relocation_start(); |
| + // Returns the address of the unwinding information. |
|
rmcilroy
2016/06/21 13:47:44
information, if any.
Stefano Sanfilippo
2016/06/23 15:23:44
Done.
|
| + inline byte* unwinding_info_start(); |
| + |
| + // Returns the address past the end of the unwinding information. |
|
rmcilroy
2016/06/21 13:47:44
/s/past/right after/
Stefano Sanfilippo
2016/06/23 15:23:44
Done.
|
| + inline byte* unwinding_info_end(); |
| + |
| // Code entry point. |
| inline byte* entry(); |
| @@ -5283,9 +5297,11 @@ class Code: public HeapObject { |
| : public BitField<CacheHolderFlag, ICStateField::kNext, 2> {}; |
| class KindField : public BitField<Kind, CacheHolderField::kNext, 5> {}; |
| STATIC_ASSERT(NUMBER_OF_KINDS <= KindField::kMax); |
| - class ExtraICStateField : public BitField<ExtraICState, KindField::kNext, |
| - PlatformSmiTagging::kSmiValueSize - |
| - KindField::kNext + 1> {}; |
| + class HasUnwindingInfoField : public BitField<bool, KindField::kNext, 1> {}; |
| + class ExtraICStateField |
| + : public BitField<ExtraICState, HasUnwindingInfoField::kNext, |
| + PlatformSmiTagging::kSmiValueSize - |
| + HasUnwindingInfoField::kNext + 1> {}; |
| // KindSpecificFlags1 layout (STUB, BUILTIN and OPTIMIZED_FUNCTION) |
| static const int kStackSlotsFirstBit = 0; |