Reviewers: Mads Ager, Description: Merge r7454 from bleeding edge.
Please review this at http://codereview.chromium.org/6728022/ SVN Base: http://v8.googlecode.com/svn/branches/3.1/ Affected files: M src/heap.h M src/ic.cc M src/version.cc Index: src/heap.h =================================================================== --- src/heap.h (revision 7455) +++ src/heap.h (working copy) @@ -163,6 +163,7 @@ V(name_symbol, "name") \ V(number_symbol, "number") \ V(Number_symbol, "Number") \ + V(nan_symbol, "NaN") \ V(RegExp_symbol, "RegExp") \ V(source_symbol, "source") \ V(global_symbol, "global") \ Index: src/ic.cc =================================================================== --- src/ic.cc (revision 7455) +++ src/ic.cc (working copy) @@ -1113,6 +1113,16 @@ MaybeObject* KeyedLoadIC::Load(State state, Handle<Object> object, Handle<Object> key) { + // Check for values that can be converted into a symbol. + // TODO(1295): Remove this code. + HandleScope scope; + if (key->IsHeapNumber() && + isnan(HeapNumber::cast(*key)->value())) { + key = Factory::nan_symbol(); + } else if (key->IsUndefined()) { + key = Factory::undefined_symbol(); + } + if (key->IsSymbol()) { Handle<String> name = Handle<String>::cast(key); Index: src/version.cc =================================================================== --- src/version.cc (revision 7455) +++ src/version.cc (working copy) @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 1 #define BUILD_NUMBER 8 -#define PATCH_LEVEL 6 +#define PATCH_LEVEL 7 #define CANDIDATE_VERSION false // Define SONAME to have the SCons build the put a specific SONAME into the -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
