Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks
authorjochen@chromium.org <jochen@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 19 Nov 2013 14:28:07 +0000 (14:28 +0000)
committerjochen@chromium.org <jochen@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 19 Nov 2013 14:28:07 +0000 (14:28 +0000)
This also reverts 17879 and 17880.

BUG=v8:3015
TBR=svenpanne@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/76323002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

build/features.gypi
include/v8-platform.h [deleted file]
include/v8.h
src/api.cc
src/default-platform.cc [deleted file]
src/default-platform.h [deleted file]
src/v8.cc
src/v8.h
tools/gyp/v8.gyp

index 85b8a38..08ea11a 100644 (file)
@@ -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',
diff --git a/include/v8-platform.h b/include/v8-platform.h
deleted file mode 100644 (file)
index 4fb8e64..0000000
+++ /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_
index 8b290bd..2f8af27 100644 (file)
@@ -105,7 +105,6 @@ class NumberObject;
 class Object;
 class ObjectOperationDescriptor;
 class ObjectTemplate;
-class Platform;
 class Primitive;
 class RawOperationDescriptor;
 class Signature;
@@ -4784,18 +4783,6 @@ class V8_EXPORT V8 {
    */
   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();
 
index 0054875..8919cca 100644 (file)
@@ -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 @@ static void* ExternalValue(i::Object* obj) {
 // --- 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 @@ bool v8::V8::Dispose() {
     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;
 }
 
diff --git a/src/default-platform.cc b/src/default-platform.cc
deleted file mode 100644 (file)
index daba039..0000000
+++ /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
diff --git a/src/default-platform.h b/src/default-platform.h
deleted file mode 100644 (file)
index 45a6056..0000000
+++ /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_
index b8160f7..17007a2 100644 (file)
--- a/src/v8.cc
+++ b/src/v8.cc
@@ -52,7 +52,6 @@ V8_DECLARE_ONCE(init_once);
 
 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) {
@@ -195,22 +194,4 @@ 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
index 6f2633a..01362ab 100644 (file)
--- a/src/v8.h
+++ b/src/v8.h
@@ -50,7 +50,6 @@
 
 // Basic includes
 #include "../include/v8.h"
-#include "../include/v8-platform.h"
 #include "v8globals.h"
 #include "v8checks.h"
 #include "allocation.h"
@@ -112,10 +111,6 @@ class V8 : public AllStatic {
     array_buffer_allocator_ = allocator;
   }
 
-  static void InitializePlatform(v8::Platform* platform);
-  static void ShutdownPlatform();
-  static v8::Platform* GetCurrentPlatform();
-
  private:
   static void InitializeOncePerProcessImpl();
   static void InitializeOncePerProcess();
@@ -124,8 +119,6 @@ class V8 : public AllStatic {
   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_;
 };
 
 
index 159d4d9..f7e94a7 100644 (file)
         '../../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',
             '<(icu_gyp_path):icudata',
           ],
         }],
-        ['v8_use_default_platform==0', {
-          'sources!': [
-            '../../src/default-platform.cc',
-            '../../src/default-platform.h',
-          ],
-        }],
       ],
     },
     {