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

Reply via email to