| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index e6a3e3a2b9feb48a658b86338e8496c5a8d7959e..528bde15d73c57cc81a7eb8e9fd4e935a02ff053 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -2737,16 +2737,15 @@ class ToBooleanStub: public HydrogenCodeStub {
|
| RESULT_AS_INVERSE_ODDBALL // For {false} on truthy value, {true} otherwise.
|
| };
|
|
|
| - // At most 8 different types can be distinguished, because the Code object
|
| - // only has room for a single byte to hold a set of these types. :-P
|
| - STATIC_ASSERT(NUMBER_OF_TYPES <= 8);
|
| + // At most 16 different types can be distinguished, because the Code object
|
| + // only has room for two bytes to hold a set of these types. :-P
|
| + STATIC_ASSERT(NUMBER_OF_TYPES <= 16);
|
|
|
| - class Types : public EnumSet<Type, byte> {
|
| + class Types : public EnumSet<Type, uint16_t> {
|
| public:
|
| - Types() : EnumSet<Type, byte>(0) {}
|
| - explicit Types(byte bits) : EnumSet<Type, byte>(bits) {}
|
| + Types() : EnumSet<Type, uint16_t>(0) {}
|
| + explicit Types(uint16_t bits) : EnumSet<Type, uint16_t>(bits) {}
|
|
|
| - byte ToByte() const { return ToIntegral(); }
|
| bool UpdateStatus(Handle<Object> object);
|
| bool NeedsMap() const;
|
| bool CanBeUndetectable() const;
|
| @@ -2757,13 +2756,13 @@ class ToBooleanStub: public HydrogenCodeStub {
|
|
|
| ToBooleanStub(Isolate* isolate, ResultMode mode, Types types = Types())
|
| : HydrogenCodeStub(isolate) {
|
| - set_sub_minor_key(TypesBits::encode(types.ToByte()) |
|
| + set_sub_minor_key(TypesBits::encode(types.ToIntegral()) |
|
| ResultModeBits::encode(mode));
|
| }
|
|
|
| ToBooleanStub(Isolate* isolate, ExtraICState state)
|
| : HydrogenCodeStub(isolate) {
|
| - set_sub_minor_key(TypesBits::encode(static_cast<byte>(state)) |
|
| + set_sub_minor_key(TypesBits::encode(static_cast<uint16_t>(state)) |
|
| ResultModeBits::encode(RESULT_AS_SMI));
|
| }
|
|
|
| @@ -2796,7 +2795,7 @@ class ToBooleanStub: public HydrogenCodeStub {
|
| set_sub_minor_key(ResultModeBits::encode(RESULT_AS_SMI));
|
| }
|
|
|
| - class TypesBits : public BitField<byte, 0, NUMBER_OF_TYPES> {};
|
| + class TypesBits : public BitField<uint16_t, 0, NUMBER_OF_TYPES> {};
|
| class ResultModeBits : public BitField<ResultMode, NUMBER_OF_TYPES, 2> {};
|
|
|
| DEFINE_CALL_INTERFACE_DESCRIPTOR(ToBoolean);
|
|
|