Skip to content

Commit 83cd11e

Browse files
committed
Feature(runtime): Sync v8 with latest master (without own hacks)
1 parent 87781b5 commit 83cd11e

24 files changed

Lines changed: 88 additions & 47 deletions

packages/runtime/v8/.DS_Store

2 KB
Binary file not shown.

packages/runtime/v8/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#cmake_minimum_required(VERSION 3.7)
2+
#
3+
#project(v8-static)
4+
#
5+
#set(CMAKE_BUILD_TYPE Release)
6+
#set(CMAKE_CXX_STANDARD 14)
7+
#
8+
#set(BASEPATH "${CMAKE_SOURCE_DIR}")
9+
#include_directories("${BASEPATH}")
10+
#
11+
#set(SOURCE_FILES
12+
# src/base/platform/mutex.cc
13+
# src/base/platform/time.cc
14+
# src/base/platform/platform-macos.cc
15+
# src/base/once.cc
16+
# src/base/logging.cc
17+
# src/base/utils/random-number-generator.cc
18+
#)
19+
#
20+
#add_library(v8-static STATIC ${SOURCE_FILES})

packages/runtime/v8/libv8-static.a

83.3 KB
Binary file not shown.

packages/runtime/v8/src/base/atomicops.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,14 @@
3333
// - libstdc++: captures bits/c++config.h for __GLIBCXX__
3434
#include <cstddef>
3535

36-
#include "base-export.h"
37-
#include "build_config.h"
36+
#include "src/base/base-export.h"
37+
#include "src/base/build_config.h"
3838

3939
namespace v8 {
4040
namespace base {
4141

4242
typedef char Atomic8;
43+
typedef int16_t Atomic16;
4344
typedef int32_t Atomic32;
4445
#if defined(V8_HOST_ARCH_64_BIT)
4546
// We need to be able to go between Atomic64 and AtomicWord implicitly. This
@@ -97,10 +98,12 @@ Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
9798

9899
void SeqCst_MemoryFence();
99100
void Relaxed_Store(volatile Atomic8* ptr, Atomic8 value);
101+
void Relaxed_Store(volatile Atomic16* ptr, Atomic16 value);
100102
void Relaxed_Store(volatile Atomic32* ptr, Atomic32 value);
101103
void Release_Store(volatile Atomic32* ptr, Atomic32 value);
102104

103105
Atomic8 Relaxed_Load(volatile const Atomic8* ptr);
106+
Atomic16 Relaxed_Load(volatile const Atomic16* ptr);
104107
Atomic32 Relaxed_Load(volatile const Atomic32* ptr);
105108
Atomic32 Acquire_Load(volatile const Atomic32* ptr);
106109

@@ -132,13 +135,13 @@ Atomic64 Acquire_Load(volatile const Atomic64* ptr);
132135
#else
133136
// TODO(ulan): Switch to std version after performance regression with Wheezy
134137
// sysroot is no longer relevant. Debian Wheezy LTS ends on 31st of May 2018.
135-
#include "atomicops_internals_portable.h"
138+
#include "src/base/atomicops_internals_portable.h"
136139
#endif
137140

138141
// On some platforms we need additional declarations to make
139142
// AtomicWord compatible with our other Atomic* types.
140143
#if defined(V8_OS_MACOSX) || defined(V8_OS_OPENBSD) || defined(V8_OS_AIX)
141-
#include "atomicops_internals_atomicword_compat.h"
144+
#include "src/base/atomicops_internals_atomicword_compat.h"
142145
#endif
143146

144147
#endif // V8_BASE_ATOMICOPS_H_

packages/runtime/v8/src/base/atomicops_internals_portable.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131

3232
#include <atomic>
3333

34-
#include "build_config.h"
35-
#include "macros.h"
34+
#include "src/base/build_config.h"
35+
#include "src/base/macros.h"
3636

3737
namespace v8 {
3838
namespace base {
@@ -98,6 +98,10 @@ inline void Relaxed_Store(volatile Atomic8* ptr, Atomic8 value) {
9898
__atomic_store_n(ptr, value, __ATOMIC_RELAXED);
9999
}
100100

101+
inline void Relaxed_Store(volatile Atomic16* ptr, Atomic16 value) {
102+
__atomic_store_n(ptr, value, __ATOMIC_RELAXED);
103+
}
104+
101105
inline void Relaxed_Store(volatile Atomic32* ptr, Atomic32 value) {
102106
__atomic_store_n(ptr, value, __ATOMIC_RELAXED);
103107
}
@@ -110,6 +114,10 @@ inline Atomic8 Relaxed_Load(volatile const Atomic8* ptr) {
110114
return __atomic_load_n(ptr, __ATOMIC_RELAXED);
111115
}
112116

117+
inline Atomic16 Relaxed_Load(volatile const Atomic16* ptr) {
118+
return __atomic_load_n(ptr, __ATOMIC_RELAXED);
119+
}
120+
113121
inline Atomic32 Relaxed_Load(volatile const Atomic32* ptr) {
114122
return __atomic_load_n(ptr, __ATOMIC_RELAXED);
115123
}

packages/runtime/v8/src/base/atomicops_internals_std.h

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
#include <atomic>
99

10-
#include "build_config.h"
11-
#include "macros.h"
10+
#include "src/base/build_config.h"
11+
#include "src/base/macros.h"
1212

1313
namespace v8 {
1414
namespace base {
@@ -86,6 +86,11 @@ inline void Relaxed_Store(volatile Atomic8* ptr, Atomic8 value) {
8686
std::memory_order_relaxed);
8787
}
8888

89+
inline void Relaxed_Store(volatile Atomic16* ptr, Atomic16 value) {
90+
std::atomic_store_explicit(helper::to_std_atomic(ptr), value,
91+
std::memory_order_relaxed);
92+
}
93+
8994
inline void Relaxed_Store(volatile Atomic32* ptr, Atomic32 value) {
9095
std::atomic_store_explicit(helper::to_std_atomic(ptr), value,
9196
std::memory_order_relaxed);
@@ -101,6 +106,11 @@ inline Atomic8 Relaxed_Load(volatile const Atomic8* ptr) {
101106
std::memory_order_relaxed);
102107
}
103108

109+
inline Atomic16 Relaxed_Load(volatile const Atomic16* ptr) {
110+
return std::atomic_load_explicit(helper::to_std_atomic_const(ptr),
111+
std::memory_order_relaxed);
112+
}
113+
104114
inline Atomic32 Relaxed_Load(volatile const Atomic32* ptr) {
105115
return std::atomic_load_explicit(helper::to_std_atomic_const(ptr),
106116
std::memory_order_relaxed);

packages/runtime/v8/src/base/base-export.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#ifndef V8_BASE_BASE_EXPORT_H_
66
#define V8_BASE_BASE_EXPORT_H_
77

8-
#include "../../include/v8config.h"
8+
#include "include/v8config.h"
99

1010
#if V8_OS_WIN
1111

packages/runtime/v8/src/base/bits.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
#include <stdint.h>
99
#include <type_traits>
1010

11-
#include "base-export.h"
12-
#include "macros.h"
11+
#include "src/base/base-export.h"
12+
#include "src/base/macros.h"
1313
#if V8_CC_MSVC
1414
#include <intrin.h>
1515
#endif

packages/runtime/v8/src/base/build_config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#ifndef V8_BASE_BUILD_CONFIG_H_
66
#define V8_BASE_BUILD_CONFIG_H_
77

8-
#include "../../include/v8config.h"
8+
#include "include/v8config.h"
99

1010
// Processor architecture detection. For more info on what's defined, see:
1111
// http://msdn.microsoft.com/en-us/library/b0084kay.aspx

packages/runtime/v8/src/base/compiler-specific.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#ifndef V8_BASE_COMPILER_SPECIFIC_H_
66
#define V8_BASE_COMPILER_SPECIFIC_H_
77

8-
#include "../../include/v8config.h"
8+
#include "include/v8config.h"
99

1010
// Annotate a typedef or function indicating it's ok if it's not used.
1111
// Use like:

0 commit comments

Comments
 (0)