| Index: runtime/vm/object.cc
|
| ===================================================================
|
| --- runtime/vm/object.cc (revision 15200)
|
| +++ runtime/vm/object.cc (working copy)
|
| @@ -4197,14 +4197,14 @@
|
|
|
| // Construct fingerprint from token stream. The token stream contains also
|
| // arguments.
|
| -intptr_t Function::SourceFingerprint() const {
|
| - intptr_t result = String::Handle(Signature()).Hash();
|
| +int32_t Function::SourceFingerprint() const {
|
| + uint32_t result = String::Handle(Signature()).Hash();
|
| TokenStream::Iterator tokens_iterator(TokenStream::Handle(
|
| Script::Handle(script()).tokens()), token_pos());
|
| Object& obj = Object::Handle();
|
| String& literal = String::Handle();
|
| while (tokens_iterator.CurrentPosition() < end_token_pos()) {
|
| - intptr_t val = 0;
|
| + uint32_t val = 0;
|
| obj = tokens_iterator.CurrentToken();
|
| if (obj.IsSmi()) {
|
| val = Smi::Cast(obj).Value();
|
| @@ -4215,6 +4215,8 @@
|
| result = 31 * result + val;
|
| tokens_iterator.Advance();
|
| }
|
| + result = result & ((static_cast<intptr_t>(1) << 31) - 1);
|
| + ASSERT(result <= static_cast<uint32_t>(kMaxInt32));
|
| return result;
|
| }
|
|
|
| @@ -9949,11 +9951,11 @@
|
| hash_ ^= hash_ >> 11;
|
| hash_ += hash_ << 15;
|
| hash_ = hash_ & ((static_cast<intptr_t>(1) << bits) - 1);
|
| - ASSERT(hash_ >= 0);
|
| + ASSERT(hash_ <= static_cast<uint32_t>(kMaxInt32));
|
| return hash_ == 0 ? 1 : hash_;
|
| }
|
| private:
|
| - intptr_t hash_;
|
| + uint32_t hash_;
|
| };
|
|
|
|
|
|
|