Reviewers: ulan,

Description:
Only r16579.

for debugging only.

[email protected]
BUG=

Please review this at https://codereview.chromium.org/23497008/

SVN Base: https://v8.googlecode.com/svn/branches/3.20

Affected files (+5, -80 lines):
  M src/json-stringifier.h
  M src/property.h
  M src/runtime.cc
  M test/cctest/test-strings.cc
  D test/mjsunit/regress/regress-regexp-construct-result.js


Index: test/mjsunit/regress/regress-regexp-construct-result.js
diff --git a/test/mjsunit/regress/regress-regexp-construct-result.js b/test/mjsunit/regress/regress-regexp-construct-result.js
deleted file mode 100644
index 84bdd2004bbd91d6f9ef8bf6a42ee8586c1a5abe..0000000000000000000000000000000000000000
--- a/test/mjsunit/regress/regress-regexp-construct-result.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-//       notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-//       copyright notice, this list of conditions and the following
-//       disclaimer in the documentation and/or other materials provided
-//       with the distribution.
-//     * Neither the name of Google Inc. nor the names of its
-//       contributors may be used to endorse or promote products derived
-//       from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Create a huge regexp with many alternative capture groups, most of
-// which do not capture anything, but the corresponding capture slot
-// in the result object has to exist, even though filled with undefined.
-// Having a large result array helps stressing GC.
-
-var num_captures = 1000;
-var regexp_string = "(a)";
-for (var i = 0; i < num_captures - 1; i++) {
-  regexp_string += "|(b)";
-}
-var regexp = new RegExp(regexp_string);
-
-for (var i = 0; i < 10; i++) {
-  var matches = regexp.exec("a");
-  var count = 0;
-  matches.forEach(function() { count++; });
-  assertEquals(num_captures + 1, count);
-}
Index: src/json-stringifier.h
diff --git a/src/json-stringifier.h b/src/json-stringifier.h
index ebfaf9928ae01ebc512aff7c445ac7950a24d483..5ebdb40b51936cb69d86dcd23efeb68fab803208 100644
--- a/src/json-stringifier.h
+++ b/src/json-stringifier.h
@@ -832,14 +832,14 @@ Vector<const uc16> BasicJsonStringifier::GetCharVector(Handle<String> string) {
 void BasicJsonStringifier::SerializeString(Handle<String> object) {
   object = FlattenGetString(object);
   if (is_ascii_) {
-    if (object->IsOneByteRepresentationUnderneath()) {
+    if (object->IsOneByteRepresentation()) {
       SerializeString_<true, uint8_t>(object);
     } else {
       ChangeEncoding();
       SerializeString(object);
     }
   } else {
-    if (object->IsOneByteRepresentationUnderneath()) {
+    if (object->IsOneByteRepresentation()) {
       SerializeString_<false, uint8_t>(object);
     } else {
       SerializeString_<false, uc16>(object);
Index: src/property.h
diff --git a/src/property.h b/src/property.h
index 2ee6c2a2d0f40202bc9db78b35bc32ed1c45bcaa..d109de91d10144fc8b8a19e2620c3eaffdfe9ae2 100644
--- a/src/property.h
+++ b/src/property.h
@@ -225,14 +225,14 @@ class LookupResult BASE_EMBEDDED {
   void HandlerResult(JSProxy* proxy) {
     lookup_type_ = HANDLER_TYPE;
     holder_ = proxy;
-    details_ = PropertyDetails(NONE, HANDLER, Representation::Tagged());
+    details_ = PropertyDetails(NONE, HANDLER, Representation::None());
     cacheable_ = false;
   }

   void InterceptorResult(JSObject* holder) {
     lookup_type_ = INTERCEPTOR_TYPE;
     holder_ = holder;
- details_ = PropertyDetails(NONE, INTERCEPTOR, Representation::Tagged());
+    details_ = PropertyDetails(NONE, INTERCEPTOR, Representation::None());
   }

   void NotFound() {
Index: src/runtime.cc
diff --git a/src/runtime.cc b/src/runtime.cc
index 5b96d1fd464083359c935410293bc96f6bdc4009..69acb4a55e30354ae70061a7cf9c7ee88d99cb73 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -2433,7 +2433,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpConstructResult) {
   }
   Object* new_object;
   { MaybeObject* maybe_new_object =
-        isolate->heap()->AllocateFixedArray(elements_count);
+        isolate->heap()->AllocateFixedArrayWithHoles(elements_count);
     if (!maybe_new_object->ToObject(&new_object)) return maybe_new_object;
   }
   FixedArray* elements = FixedArray::cast(new_object);
Index: test/cctest/test-strings.cc
diff --git a/test/cctest/test-strings.cc b/test/cctest/test-strings.cc
index 726188d917d231b16c8bf019dcd9d4d9182d65da..310d93c04ea8b9cadda0c1cbad1d3e25658b923f 100644
--- a/test/cctest/test-strings.cc
+++ b/test/cctest/test-strings.cc
@@ -1017,36 +1017,6 @@ TEST(ExternalShortStringAdd) {
 }


-TEST(JSONStringifySliceMadeExternal) {
-  Isolate* isolate = Isolate::Current();
-  Zone zone(isolate);
-  CcTest::InitializeVM();
-  // Create a sliced string from a one-byte string.  The latter is turned
-  // into a two-byte external string.  Check that JSON.stringify works.
-  v8::HandleScope handle_scope(CcTest::isolate());
-  v8::Handle<v8::String> underlying =
-      CompileRun("var underlying = 'abcdefghijklmnopqrstuvwxyz';"
-                 "underlying")->ToString();
-  v8::Handle<v8::String> slice =
-      CompileRun("var slice = underlying.slice(1);"
-                 "slice")->ToString();
-  CHECK(v8::Utils::OpenHandle(*slice)->IsSlicedString());
-  CHECK(v8::Utils::OpenHandle(*underlying)->IsSeqOneByteString());
-
-  int length = underlying->Length();
-  uc16* two_byte = zone.NewArray<uc16>(length + 1);
-  underlying->Write(two_byte);
-  Resource* resource =
-      new(&zone) Resource(Vector<const uc16>(two_byte, length));
-  CHECK(underlying->MakeExternal(resource));
-  CHECK(v8::Utils::OpenHandle(*slice)->IsSlicedString());
-  CHECK(v8::Utils::OpenHandle(*underlying)->IsExternalTwoByteString());
-
-  CHECK_EQ("\"bcdefghijklmnopqrstuvwxyz\"",
-           *v8::String::Utf8Value(CompileRun("JSON.stringify(slice)")));
-}
-
-
 TEST(CachedHashOverflow) {
// We incorrectly allowed strings to be tagged as array indices even if their
   // values didn't fit in the hash field.


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to