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.