Skip to content
This repository has been archived by the owner on Oct 15, 2020. It is now read-only.

Commit

Permalink
chakrashim: changes to build with iojs next
Browse files Browse the repository at this point in the history
This commit implements a minimum set of changed or new V8 APIs needed
by iojs next, primarily StackTrace/StackFrame, ArrayBuffer and
TypedArray.

Temporarily calls non-exist JsCreateArrayBuffer() on external memory.
So this doesn't build with released Win10 SDK.

Reviewed-by: kunalspathak
  • Loading branch information
Jianchun Xu committed Jul 7, 2015
1 parent f218364 commit 45411a7
Show file tree
Hide file tree
Showing 27 changed files with 1,166 additions and 247 deletions.
5 changes: 5 additions & 0 deletions deps/chakrashim/chakrashim.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,10 @@
'msvs_disabled_warnings': [4091],
},
'sources': [
'include/libplatform/libplatform.h',
'include/v8.h',
'include/v8-debug.h',
'include/v8-platform.h',
'include/v8-profiler.h',
'src/jsrtcachedpropertyidref.inc',
'src/jsrtcontextcachedobj.inc',
Expand All @@ -67,6 +69,7 @@
'src/jsrtutils.cc',
'src/jsrtutils.h',
'src/v8array.cc',
'src/v8arraybuffer.cc',
'src/v8boolean.cc',
'src/v8booleanobject.cc',
'src/v8chakra.h',
Expand All @@ -91,10 +94,12 @@
'src/v8returnvalue.cc',
'src/v8script.cc',
'src/v8signature.cc',
'src/v8stacktrace.cc',
'src/v8string.cc',
'src/v8stringobject.cc',
'src/v8template.cc',
'src/v8trycatch.cc',
'src/v8typedarray.cc',
'src/v8uint32.cc',
'src/v8v8.cc',
'src/v8value.cc',
Expand Down
47 changes: 47 additions & 0 deletions deps/chakrashim/include/libplatform/libplatform.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// Copyright 2014 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_LIBPLATFORM_LIBPLATFORM_H_
#define V8_LIBPLATFORM_LIBPLATFORM_H_

#include "include/v8-platform.h"

namespace v8 {
namespace platform {

v8::Platform* CreateDefaultPlatform(int thread_pool_size = 0) {
return nullptr;
}

bool PumpMessageLoop(v8::Platform* platform, v8::Isolate* isolate) {
return false;
}

} // namespace platform
} // namespace v8

#endif // V8_LIBPLATFORM_LIBPLATFORM_H_
2 changes: 1 addition & 1 deletion deps/chakrashim/include/v8-debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class EXPORT Debug {
static void DisableAgent() {}
static bool IsAgentEnabled();
static void ProcessDebugMessages() {}
static Local<Context> GetDebugContext() { return Context::GetCurrent(); }
static Local<Context> GetDebugContext();
static void SetMessageHandler(MessageHandler handler) {}
static void SendCommand(Isolate* isolate,
const uint16_t* command, int length,
Expand Down
57 changes: 57 additions & 0 deletions deps/chakrashim/include/v8-platform.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// 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_

namespace v8 {

class Isolate;

class Task {
public:
virtual ~Task() {}
virtual void Run() = 0;
};

class Platform {
public:
enum ExpectedRuntime {
kShortRunningTask,
kLongRunningTask
};

virtual ~Platform() {}
virtual void CallOnBackgroundThread(Task* task,
ExpectedRuntime expected_runtime) = 0;
virtual void CallOnForegroundThread(Isolate* isolate, Task* task) = 0;
virtual double MonotonicallyIncreasingTime() = 0;
};

} // namespace v8

#endif // V8_V8_PLATFORM_H_
Loading

0 comments on commit 45411a7

Please sign in to comment.