Revision: 18738
Author:   [email protected]
Date:     Wed Jan 22 12:07:14 2014 UTC
Log:      Remove globale pretenuring mode from runtime.

BUG=
[email protected]

Review URL: https://codereview.chromium.org/132003002
http://code.google.com/p/v8/source/detail?r=18738

Modified:
 /branches/bleeding_edge/src/heap.cc
 /branches/bleeding_edge/src/heap.h
 /branches/bleeding_edge/src/runtime.cc

=======================================
--- /branches/bleeding_edge/src/heap.cc Wed Jan 22 08:46:39 2014 UTC
+++ /branches/bleeding_edge/src/heap.cc Wed Jan 22 12:07:14 2014 UTC
@@ -3562,8 +3562,7 @@


 MaybeObject* Heap::NumberToString(Object* number,
-                                  bool check_number_string_cache,
-                                  PretenureFlag pretenure) {
+                                  bool check_number_string_cache) {
   isolate_->counters()->number_to_string_runtime()->Increment();
   if (check_number_string_cache) {
     Object* cached = GetNumberStringCache(number);
@@ -3584,8 +3583,11 @@
   }

   Object* js_string;
+
+  // We tenure the allocated string since it is referenced from the
+  // number-string cache which lives in the old space.
   MaybeObject* maybe_js_string =
-      AllocateStringFromOneByte(CStrVector(str), pretenure);
+      AllocateStringFromOneByte(CStrVector(str), TENURED);
   if (maybe_js_string->ToObject(&js_string)) {
     SetNumberStringCache(number, String::cast(js_string));
   }
=======================================
--- /branches/bleeding_edge/src/heap.h  Mon Jan 20 11:57:56 2014 UTC
+++ /branches/bleeding_edge/src/heap.h  Wed Jan 22 12:07:14 2014 UTC
@@ -1571,8 +1571,7 @@
   bool RootCanBeTreatedAsConstant(RootListIndex root_index);

   MUST_USE_RESULT MaybeObject* NumberToString(
-      Object* number, bool check_number_string_cache = true,
-      PretenureFlag pretenure = NOT_TENURED);
+      Object* number, bool check_number_string_cache = true);
   MUST_USE_RESULT MaybeObject* Uint32ToString(
       uint32_t value, bool check_number_string_cache = true);

=======================================
--- /branches/bleeding_edge/src/runtime.cc      Tue Jan 21 16:04:39 2014 UTC
+++ /branches/bleeding_edge/src/runtime.cc      Wed Jan 22 12:07:14 2014 UTC
@@ -259,9 +259,11 @@
                                 constant_properties,
                                 &is_result_from_cache);

+  PretenureFlag pretenure_flag =
+      isolate->heap()->InNewSpace(*literals) ? NOT_TENURED : TENURED;
+
   Handle<JSObject> boilerplate =
-      isolate->factory()->NewJSObjectFromMap(
-          map, isolate->heap()->GetPretenureMode());
+      isolate->factory()->NewJSObjectFromMap(map, pretenure_flag);

   // Normalize the elements of the boilerplate to save space if needed.
   if (!should_have_fast_elements) JSObject::NormalizeElements(boilerplate);
@@ -367,9 +369,11 @@
   Handle<JSFunction> constructor(
       JSFunction::NativeContextFromLiterals(*literals)->array_function());

+  PretenureFlag pretenure_flag =
+      isolate->heap()->InNewSpace(*literals) ? NOT_TENURED : TENURED;
+
   Handle<JSArray> object = Handle<JSArray>::cast(
-      isolate->factory()->NewJSObject(
-          constructor, isolate->heap()->GetPretenureMode()));
+      isolate->factory()->NewJSObject(constructor, pretenure_flag));

   ElementsKind constant_elements_kind =
       static_cast<ElementsKind>(Smi::cast(elements->get(0))->value());
@@ -6809,8 +6813,7 @@
   Object* number = args[0];
   RUNTIME_ASSERT(number->IsNumber());

-  return isolate->heap()->NumberToString(
-      number, false, isolate->heap()->GetPretenureMode());
+  return isolate->heap()->NumberToString(number, false);
 }


--
--
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