Version 3.15.4

Fixed Array.prototype.join evaluation order. (issue 2263)

Perform CPU sampling by CPU sampling thread only iff processing thread is not running. (issue 2364)

When using an Object as a set in Object.getOwnPropertyNames, null out the proto. (issue 2410)

Disabled EXTRA_CHECKS in Release build.

Heap explorer: Show representation of strings.

Removed 'type' and 'arguments' properties from Error object. (issue 2397)

Added atomics implementation for ThreadSanitizer v2. (Chromium issue 128314)

Fixed LiveEdit crashes when object/array literal is added. (issue 2368)

Performance and stability improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@12994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/factory.cc b/src/factory.cc
index 32a1755..b5f6c56 100644
--- a/src/factory.cc
+++ b/src/factory.cc
@@ -178,7 +178,7 @@
 }
 
 
-Handle<String> Factory::LookupAsciiSymbol(Handle<SeqAsciiString> string,
+Handle<String> Factory::LookupAsciiSymbol(Handle<SeqOneByteString> string,
                                           int from,
                                           int length) {
   CALL_HEAP_FUNCTION(isolate(),
@@ -222,12 +222,12 @@
 }
 
 
-Handle<SeqAsciiString> Factory::NewRawAsciiString(int length,
+Handle<SeqOneByteString> Factory::NewRawOneByteString(int length,
                                                   PretenureFlag pretenure) {
   CALL_HEAP_FUNCTION(
       isolate(),
       isolate()->heap()->AllocateRawAsciiString(length, pretenure),
-      SeqAsciiString);
+      SeqOneByteString);
 }
 
 
@@ -968,6 +968,7 @@
       isolate(),
       isolate()->heap()->AllocateJSArrayWithElements(*elements,
                                                      elements_kind,
+                                                     elements->length(),
                                                      pretenure),
       JSArray);
 }
@@ -1366,7 +1367,7 @@
   // Check to see whether there is a matching element in the cache.
   Handle<MapCache> cache =
       Handle<MapCache>(MapCache::cast(context->map_cache()));
-  Handle<Object> result = Handle<Object>(cache->Lookup(*keys));
+  Handle<Object> result = Handle<Object>(cache->Lookup(*keys), isolate());
   if (result->IsMap()) return Handle<Map>::cast(result);
   // Create a new map and add it to the cache.
   Handle<Map> map =
@@ -1418,7 +1419,7 @@
                                 bool* pending_exception) {
   // Configure the instance by adding the properties specified by the
   // instance template.
-  Handle<Object> instance_template = Handle<Object>(desc->instance_template());
+  Handle<Object> instance_template(desc->instance_template(), isolate());
   if (!instance_template->IsUndefined()) {
     Execution::ConfigureInstance(instance,
                                  instance_template,