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 5867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5878 class ArrayInstructionInterface { | 5878 class ArrayInstructionInterface { |
5879 public: | 5879 public: |
5880 virtual HValue* GetKey() = 0; | 5880 virtual HValue* GetKey() = 0; |
5881 virtual void SetKey(HValue* key) = 0; | 5881 virtual void SetKey(HValue* key) = 0; |
5882 virtual void SetIndexOffset(uint32_t index_offset) = 0; | 5882 virtual void SetIndexOffset(uint32_t index_offset) = 0; |
5883 virtual bool IsDehoisted() = 0; | 5883 virtual bool IsDehoisted() = 0; |
5884 virtual void SetDehoisted(bool is_dehoisted) = 0; | 5884 virtual void SetDehoisted(bool is_dehoisted) = 0; |
5885 virtual ~ArrayInstructionInterface() { }; | 5885 virtual ~ArrayInstructionInterface() { }; |
5886 | 5886 |
5887 static Representation KeyedAccessIndexRequirement(Representation r) { | 5887 static Representation KeyedAccessIndexRequirement(Representation r) { |
5888 return r.IsInteger32() ? Representation::Integer32() | 5888 return r.IsInteger32() || kSmiValueSize != 31 |
5889 : Representation::Smi(); | 5889 ? Representation::Integer32() : Representation::Smi(); |
5890 } | 5890 } |
5891 }; | 5891 }; |
5892 | 5892 |
5893 | 5893 |
5894 enum LoadKeyedHoleMode { | 5894 enum LoadKeyedHoleMode { |
5895 NEVER_RETURN_HOLE, | 5895 NEVER_RETURN_HOLE, |
5896 ALLOW_RETURN_HOLE | 5896 ALLOW_RETURN_HOLE |
5897 }; | 5897 }; |
5898 | 5898 |
5899 | 5899 |
(...skipping 1047 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6947 virtual bool IsDeletable() const { return true; } | 6947 virtual bool IsDeletable() const { return true; } |
6948 }; | 6948 }; |
6949 | 6949 |
6950 | 6950 |
6951 #undef DECLARE_INSTRUCTION | 6951 #undef DECLARE_INSTRUCTION |
6952 #undef DECLARE_CONCRETE_INSTRUCTION | 6952 #undef DECLARE_CONCRETE_INSTRUCTION |
6953 | 6953 |
6954 } } // namespace v8::internal | 6954 } } // namespace v8::internal |
6955 | 6955 |
6956 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 6956 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |