From: jochen@chromium.org Date: Tue, 19 Nov 2013 14:28:07 +0000 (+0000) Subject: Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks X-Git-Tag: upstream/4.7.83~11665 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e744b82faec752f4d0d32757bb4891228d77ba8a;p=platform%2Fupstream%2Fv8.git Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks 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 --- diff --git a/build/features.gypi b/build/features.gypi index 85b8a38..08ea11a 100644 --- a/build/features.gypi +++ b/build/features.gypi @@ -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 index 4fb8e64..0000000 --- a/include/v8-platform.h +++ /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_ diff --git a/include/v8.h b/include/v8.h index 8b290bd..2f8af27 100644 --- a/include/v8.h +++ b/include/v8.h @@ -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(); diff --git a/src/api.cc b/src/api.cc index 0054875..8919cca 100644 --- a/src/api.cc +++ b/src/api.cc @@ -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::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 index daba039..0000000 --- a/src/default-platform.cc +++ /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 index 45a6056..0000000 --- a/src/default-platform.h +++ /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_ diff --git a/src/v8.cc b/src/v8.cc index b8160f7..17007a2 100644 --- a/src/v8.cc +++ b/src/v8.cc @@ -52,7 +52,6 @@ V8_DECLARE_ONCE(init_once); List* 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 diff --git a/src/v8.h b/src/v8.h index 6f2633a..01362ab 100644 --- 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* call_completed_callbacks_; // Allocator for external array buffers. static v8::ArrayBuffer::Allocator* array_buffer_allocator_; - // v8::Platform to use. - static v8::Platform* platform_; }; diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp index 159d4d9..f7e94a7 100644 --- a/tools/gyp/v8.gyp +++ b/tools/gyp/v8.gyp @@ -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', - ], - }], ], }, {