Author: [EMAIL PROTECTED]
Date: Wed Oct 15 03:22:26 2008
New Revision: 506

Modified:
    branches/bleeding_edge/src/runtime.cc

Log:
Fixes bug 1426704.
Constructors no longer print out their source code.  They print [native  
code]
instead.  Some web applications don't like constructors with complex  
ToString
results.
Review URL: http://codereview.chromium.org/7345

Modified: branches/bleeding_edge/src/runtime.cc
==============================================================================
--- branches/bleeding_edge/src/runtime.cc       (original)
+++ branches/bleeding_edge/src/runtime.cc       Wed Oct 15 03:22:26 2008
@@ -891,10 +891,11 @@
      target->shared()->set_length(fun->shared()->length());
      target->shared()->set_formal_parameter_count(
          fun->shared()->formal_parameter_count());
-    // Set the source code of the target function.
-    target->shared()->set_script(fun->shared()->script());
-    target->shared()->set_start_position(fun->shared()->start_position());
-    target->shared()->set_end_position(fun->shared()->end_position());
+    // Set the source code of the target function to undefined.
+    // SetCode is only used for built-in constructors like String,
+    // Array, and Object, and some web code
+    // doesn't like seeing source code for constructors.
+    target->shared()->set_script(Heap::undefined_value());
      context = Handle<Context>(fun->context());

      // Make sure we get a fresh copy of the literal vector to avoid

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to