Revision: 17881
Author:   [email protected]
Date:     Tue Nov 19 14:28:07 2013 UTC
Log: Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks

This also reverts 17879 and 17880.

BUG=v8:3015
[email protected]
LOG=n

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

Deleted:
 /branches/bleeding_edge/include/v8-platform.h
 /branches/bleeding_edge/src/default-platform.cc
 /branches/bleeding_edge/src/default-platform.h
Modified:
 /branches/bleeding_edge/build/features.gypi
 /branches/bleeding_edge/include/v8.h
 /branches/bleeding_edge/src/api.cc
 /branches/bleeding_edge/src/v8.cc
 /branches/bleeding_edge/src/v8.h
 /branches/bleeding_edge/tools/gyp/v8.gyp

=======================================
--- /branches/bleeding_edge/include/v8-platform.h Tue Nov 19 14:00:45 2013 UTC
+++ /dev/null
@@ -1,75 +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.
-
-#ifndef V8_V8_PLATFORM_H_
-#define V8_V8_PLATFORM_H_
-
-#include "v8.h"
-
-namespace v8 {
-
-/**
- * A Task represents a unit of work.
- */
-class Task {
- public:
-  virtual ~Task() {}
-
-  virtual void Run() = 0;
-};
-
-/**
- * V8 Platform abstraction layer.
- *
- * The embedder has to provide an implementation of this interface before
- * initializing the rest of V8.
- */
-class Platform {
- public:
-  /**
-   * Schedules a task to be invoked on a background thread. |task_is_slow|
- * indicates that the task will run a long time. The Platform implementation - * takes ownership of |task|. There is no guarantee about order of execution
-   * of tasks wrt order of scheduling, nor is there a guarantee about the
-   * thread the task will be run on.
-   */
-  virtual void CallOnBackgroundThread(Task* task, bool task_is_slow) = 0;
-
-  /**
-   * Schedules a task to be invoked on a foreground thread wrt a specific
- * |isolate|. Tasks posted for the same isolate should be execute in order of
-   * scheduling. The definition of "foreground" is opaque to V8.
-   */
-  virtual void CallOnForegroundThread(Isolate* isolate, Task* task) = 0;
-
- protected:
-  virtual ~Platform() {}
-};
-
-}  // namespace v8
-
-#endif  // V8_V8_PLATFORM_H_
=======================================
--- /branches/bleeding_edge/src/default-platform.cc Tue Nov 19 13:44:36 2013 UTC
+++ /dev/null
@@ -1,55 +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.
-
-#include "v8.h"
-
-#include "default-platform.h"
-
-namespace v8 {
-namespace internal {
-
-
-DefaultPlatform::DefaultPlatform() {}
-
-
-DefaultPlatform::~DefaultPlatform() {}
-
-void DefaultPlatform::CallOnBackgroundThread(Task *task, bool task_is_slow) {
-  // TODO(jochen): implement.
-  task->Run();
-  delete task;
-}
-
-
-void DefaultPlatform::CallOnForegroundThread(v8::Isolate* isolate, Task* task) {
-  // TODO(jochen): implement.
-  task->Run();
-  delete task;
-}
-
-
-} }  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/default-platform.h Tue Nov 19 13:44:36 2013 UTC
+++ /dev/null
@@ -1,55 +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.
-
-#ifndef V8_DEFAULT_PLATFORM_H_
-#define V8_DEFAULT_PLATFORM_H_
-
-#include "v8.h"
-
-namespace v8 {
-namespace internal {
-
-class DefaultPlatform : public Platform {
- public:
-  DefaultPlatform();
-  virtual ~DefaultPlatform();
-
-  // v8::Platform implementation.
-  virtual void CallOnBackgroundThread(Task *task,
-                                      bool task_is_slow) V8_OVERRIDE;
-  virtual void CallOnForegroundThread(v8::Isolate *isolate,
-                                      Task *task) V8_OVERRIDE;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(DefaultPlatform);
-};
-
-
-} }  // namespace v8::internal
-
-
-#endif  // V8_DEFAULT_PLATFORM_H_
=======================================
--- /branches/bleeding_edge/build/features.gypi Tue Nov 19 13:44:36 2013 UTC
+++ /branches/bleeding_edge/build/features.gypi Tue Nov 19 14:28:07 2013 UTC
@@ -58,9 +58,6 @@

     # Enable compiler warnings when using V8_DEPRECATED apis.
     'v8_deprecation_warnings%': 0,
-
-    # Use the v8 provided v8::Platform implementation.
-    'v8_use_default_platform%': 1,
   },
   'target_defaults': {
     'conditions': [
@@ -88,9 +85,6 @@
       ['v8_enable_i18n_support==1', {
         'defines': ['V8_I18N_SUPPORT',],
       }],
-      ['v8_use_default_platform==1', {
-        'defines': ['V8_USE_DEFAULT_PLATFORM',],
-      }],
       ['v8_compress_startup_data=="bz2"', {
         'defines': [
           'COMPRESS_STARTUP_DATA_BZ2',
=======================================
--- /branches/bleeding_edge/include/v8.h        Tue Nov 19 13:44:36 2013 UTC
+++ /branches/bleeding_edge/include/v8.h        Tue Nov 19 14:28:07 2013 UTC
@@ -105,7 +105,6 @@
 class Object;
 class ObjectOperationDescriptor;
 class ObjectTemplate;
-class Platform;
 class Primitive;
 class RawOperationDescriptor;
 class Signature;
@@ -4784,18 +4783,6 @@
    */
   static bool InitializeICU();

-  /**
-   * Sets the v8::Platform to use. This should be invoked before V8 is
-   * initialized.
-   */
-  static void InitializePlatform(Platform* platform);
-
-  /**
- * Clears all references to the v8::Platform. This should be invoked after
-   * V8 was disposed.
-   */
-  static void ShutdownPlatform();
-
  private:
   V8();

=======================================
--- /branches/bleeding_edge/src/api.cc  Tue Nov 19 13:44:36 2013 UTC
+++ /branches/bleeding_edge/src/api.cc  Tue Nov 19 14:28:07 2013 UTC
@@ -40,9 +40,6 @@
 #include "counters.h"
 #include "cpu-profiler.h"
 #include "debug.h"
-#ifdef V8_USE_DEFAULT_PLATFORM
-#include "default-platform.h"
-#endif
 #include "deoptimizer.h"
 #include "execution.h"
 #include "global-handles.h"
@@ -5055,32 +5052,11 @@
 // --- E n v i r o n m e n t ---


-void v8::V8::InitializePlatform(Platform* platform) {
-#ifdef V8_USE_DEFAULT_PLATFORM
-  FATAL("Can't override v8::Platform when using default implementation");
-#else
-  i::V8::InitializePlatform(platform);
-#endif
-}
-
-
-void v8::V8::ShutdownPlatform() {
-#ifdef V8_USE_DEFAULT_PLATFORM
-  FATAL("Can't override v8::Platform when using default implementation");
-#else
-  i::V8::ShutdownPlatform();
-#endif
-}
-
-
 bool v8::V8::Initialize() {
   i::Isolate* isolate = i::Isolate::UncheckedCurrent();
   if (isolate != NULL && isolate->IsInitialized()) {
     return true;
   }
-#ifdef V8_USE_DEFAULT_PLATFORM
-  i::V8::InitializePlatform(new i::DefaultPlatform);
-#endif
   return InitializeHelper(isolate);
 }

@@ -5145,12 +5121,6 @@
     return false;
   }
   i::V8::TearDown();
-#ifdef V8_USE_DEFAULT_PLATFORM
-  i::DefaultPlatform* platform =
-      static_cast<i::DefaultPlatform*>(i::V8::GetCurrentPlatform());
-  i::V8::ShutdownPlatform();
-  delete platform;
-#endif
   return true;
 }

=======================================
--- /branches/bleeding_edge/src/v8.cc   Tue Nov 19 14:15:12 2013 UTC
+++ /branches/bleeding_edge/src/v8.cc   Tue Nov 19 14:28:07 2013 UTC
@@ -52,7 +52,6 @@

 List<CallCompletedCallback>* V8::call_completed_callbacks_ = NULL;
 v8::ArrayBuffer::Allocator* V8::array_buffer_allocator_ = NULL;
-v8::Platform* V8::platform_ = NULL;


 bool V8::Initialize(Deserializer* des) {
@@ -194,23 +193,5 @@
 void V8::InitializeOncePerProcess() {
   CallOnce(&init_once, &InitializeOncePerProcessImpl);
 }
-
-
-void V8::InitializePlatform(v8::Platform* platform) {
-  ASSERT(platform);
-  platform_ = platform;
-}
-
-
-void V8::ShutdownPlatform() {
-  ASSERT(platform_);
-  platform_ = NULL;
-}
-
-
-v8::Platform* V8::GetCurrentPlatform() {
-  ASSERT(platform_);
-  return platform_;
-}

 } }  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/v8.h    Tue Nov 19 13:44:36 2013 UTC
+++ /branches/bleeding_edge/src/v8.h    Tue Nov 19 14:28:07 2013 UTC
@@ -50,7 +50,6 @@

 // Basic includes
 #include "../include/v8.h"
-#include "../include/v8-platform.h"
 #include "v8globals.h"
 #include "v8checks.h"
 #include "allocation.h"
@@ -111,10 +110,6 @@
     CHECK_EQ(NULL, array_buffer_allocator_);
     array_buffer_allocator_ = allocator;
   }
-
-  static void InitializePlatform(v8::Platform* platform);
-  static void ShutdownPlatform();
-  static v8::Platform* GetCurrentPlatform();

  private:
   static void InitializeOncePerProcessImpl();
@@ -124,8 +119,6 @@
   static List<CallCompletedCallback>* call_completed_callbacks_;
   // Allocator for external array buffers.
   static v8::ArrayBuffer::Allocator* array_buffer_allocator_;
-  // v8::Platform to use.
-  static v8::Platform* platform_;
 };


=======================================
--- /branches/bleeding_edge/tools/gyp/v8.gyp    Tue Nov 19 13:44:36 2013 UTC
+++ /branches/bleeding_edge/tools/gyp/v8.gyp    Tue Nov 19 14:28:07 2013 UTC
@@ -281,8 +281,6 @@
         '../../src/debug-agent.h',
         '../../src/debug.cc',
         '../../src/debug.h',
-        '../../src/default-platform.cc',
-        '../../src/default-platform.h',
         '../../src/deoptimizer.cc',
         '../../src/deoptimizer.h',
         '../../src/disasm.h',
@@ -893,12 +891,6 @@
             '<(icu_gyp_path):icudata',
           ],
         }],
-        ['v8_use_default_platform==0', {
-          'sources!': [
-            '../../src/default-platform.cc',
-            '../../src/default-platform.h',
-          ],
-        }],
       ],
     },
     {

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