| OLD | NEW | 
|      1 // Copyright 2013 the V8 project authors. All rights reserved. |      1 // Copyright 2013 the V8 project authors. All rights reserved. | 
|      2 // Use of this source code is governed by a BSD-style license that can be |      2 // Use of this source code is governed by a BSD-style license that can be | 
|      3 // found in the LICENSE file. |      3 // found in the LICENSE file. | 
|      4  |      4  | 
|      5 #include <sstream> |      5 #include <sstream> | 
|      6  |      6  | 
|      7 #include "src/v8.h" |      7 #include "src/v8.h" | 
|      8  |      8  | 
|      9 #include "src/accessors.h" |      9 #include "src/accessors.h" | 
|     10 #include "src/allocation-site-scopes.h" |     10 #include "src/allocation-site-scopes.h" | 
| (...skipping 14149 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  14160   return String::cast(string)->IsOneByteEqualTo(chars); |  14160   return String::cast(string)->IsOneByteEqualTo(chars); | 
|  14161 } |  14161 } | 
|  14162  |  14162  | 
|  14163  |  14163  | 
|  14164 // InternalizedStringKey carries a string/internalized-string object as key. |  14164 // InternalizedStringKey carries a string/internalized-string object as key. | 
|  14165 class InternalizedStringKey : public HashTableKey { |  14165 class InternalizedStringKey : public HashTableKey { | 
|  14166  public: |  14166  public: | 
|  14167   explicit InternalizedStringKey(Handle<String> string) |  14167   explicit InternalizedStringKey(Handle<String> string) | 
|  14168       : string_(string) { } |  14168       : string_(string) { } | 
|  14169  |  14169  | 
|  14170   virtual bool IsMatch(Object* string) OVERRIDE { |  14170   bool IsMatch(Object* string) OVERRIDE { | 
|  14171     return String::cast(string)->Equals(*string_); |  14171     return String::cast(string)->Equals(*string_); | 
|  14172   } |  14172   } | 
|  14173  |  14173  | 
|  14174   virtual uint32_t Hash() OVERRIDE { return string_->Hash(); } |  14174   uint32_t Hash() OVERRIDE { return string_->Hash(); } | 
|  14175  |  14175  | 
|  14176   virtual uint32_t HashForObject(Object* other) OVERRIDE { |  14176   uint32_t HashForObject(Object* other) OVERRIDE { | 
|  14177     return String::cast(other)->Hash(); |  14177     return String::cast(other)->Hash(); | 
|  14178   } |  14178   } | 
|  14179  |  14179  | 
|  14180   virtual Handle<Object> AsHandle(Isolate* isolate) OVERRIDE { |  14180   Handle<Object> AsHandle(Isolate* isolate) OVERRIDE { | 
|  14181     // Internalize the string if possible. |  14181     // Internalize the string if possible. | 
|  14182     MaybeHandle<Map> maybe_map = |  14182     MaybeHandle<Map> maybe_map = | 
|  14183         isolate->factory()->InternalizedStringMapForString(string_); |  14183         isolate->factory()->InternalizedStringMapForString(string_); | 
|  14184     Handle<Map> map; |  14184     Handle<Map> map; | 
|  14185     if (maybe_map.ToHandle(&map)) { |  14185     if (maybe_map.ToHandle(&map)) { | 
|  14186       string_->set_map_no_write_barrier(*map); |  14186       string_->set_map_no_write_barrier(*map); | 
|  14187       DCHECK(string_->IsInternalizedString()); |  14187       DCHECK(string_->IsInternalizedString()); | 
|  14188       return string_; |  14188       return string_; | 
|  14189     } |  14189     } | 
|  14190     // Otherwise allocate a new internalized string. |  14190     // Otherwise allocate a new internalized string. | 
| (...skipping 2740 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  16931   Handle<DependentCode> codes = |  16931   Handle<DependentCode> codes = | 
|  16932       DependentCode::Insert(handle(cell->dependent_code(), info->isolate()), |  16932       DependentCode::Insert(handle(cell->dependent_code(), info->isolate()), | 
|  16933                             DependentCode::kPropertyCellChangedGroup, |  16933                             DependentCode::kPropertyCellChangedGroup, | 
|  16934                             info->object_wrapper()); |  16934                             info->object_wrapper()); | 
|  16935   if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); |  16935   if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); | 
|  16936   info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( |  16936   info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( | 
|  16937       cell, info->zone()); |  16937       cell, info->zone()); | 
|  16938 } |  16938 } | 
|  16939  |  16939  | 
|  16940 } }  // namespace v8::internal |  16940 } }  // namespace v8::internal | 
| OLD | NEW |