Diff
Modified: trunk/ChangeLog (233407 => 233408)
--- trunk/ChangeLog 2018-07-01 06:00:27 UTC (rev 233407)
+++ trunk/ChangeLog 2018-07-01 06:52:34 UTC (rev 233408)
@@ -1,3 +1,12 @@
+2018-06-30 Adam Barth <aba...@webkit.org>
+
+ Port _javascript_Core to OS(FUCHSIA)
+ https://bugs.webkit.org/show_bug.cgi?id=187223
+
+ Reviewed by Daniel Bates.
+
+ * Source/cmake/OptionsJSCOnly.cmake: Add back ICU.
+
2018-06-29 Ross Kirsling <ross.kirsl...@sony.com>
[JSCOnly] Restore Windows build.
Modified: trunk/Source/_javascript_Core/ChangeLog (233407 => 233408)
--- trunk/Source/_javascript_Core/ChangeLog 2018-07-01 06:00:27 UTC (rev 233407)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-07-01 06:52:34 UTC (rev 233408)
@@ -1,3 +1,19 @@
+2018-06-30 Adam Barth <aba...@webkit.org>
+
+ Port _javascript_Core to OS(FUCHSIA)
+ https://bugs.webkit.org/show_bug.cgi?id=187223
+
+ Reviewed by Daniel Bates.
+
+ * assembler/ARM64Assembler.h:
+ (JSC::ARM64Assembler::cacheFlush): Call zx_cache_flush to flush cache.
+ * runtime/MachineContext.h: Fuchsia has the same mcontext_t as glibc.
+ (JSC::MachineContext::stackPointerImpl):
+ (JSC::MachineContext::framePointerImpl):
+ (JSC::MachineContext::instructionPointerImpl):
+ (JSC::MachineContext::argumentPointer<1>):
+ (JSC::MachineContext::llintInstructionPointer):
+
2018-06-30 David Kilzer <ddkil...@apple.com>
Fix clang static analyzer warnings: Garbage return value
Modified: trunk/Source/_javascript_Core/assembler/ARM64Assembler.h (233407 => 233408)
--- trunk/Source/_javascript_Core/assembler/ARM64Assembler.h 2018-07-01 06:00:27 UTC (rev 233407)
+++ trunk/Source/_javascript_Core/assembler/ARM64Assembler.h 2018-07-01 06:52:34 UTC (rev 233408)
@@ -35,6 +35,10 @@
#include <wtf/Vector.h>
#include <stdint.h>
+#if OS(FUCHSIA)
+#include <zircon/syscalls.h>
+#endif
+
#define CHECK_DATASIZE_OF(datasize) ASSERT(datasize == 32 || datasize == 64)
#define CHECK_MEMOPSIZE_OF(size) ASSERT(size == 8 || size == 16 || size == 32 || size == 64 || size == 128);
#define DATASIZE_OF(datasize) ((datasize == 64) ? Datasize_64 : Datasize_32)
@@ -2857,6 +2861,8 @@
{
#if OS(IOS)
sys_cache_control(kCacheFunctionPrepareForExecution, code, size);
+#elif OS(FUCHSIA)
+ zx_cache_flush(code, size, ZX_CACHE_FLUSH_INSN);
#elif OS(LINUX)
size_t page = pageSize();
uintptr_t current = reinterpret_cast<uintptr_t>(code);
Modified: trunk/Source/_javascript_Core/runtime/MachineContext.h (233407 => 233408)
--- trunk/Source/_javascript_Core/runtime/MachineContext.h 2018-07-01 06:00:27 UTC (rev 233407)
+++ trunk/Source/_javascript_Core/runtime/MachineContext.h 2018-07-01 06:52:34 UTC (rev 233408)
@@ -187,7 +187,7 @@
#error Unknown Architecture
#endif
-#elif defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
#if CPU(X86)
return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
@@ -334,7 +334,7 @@
#error Unknown Architecture
#endif
-#elif defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
@@ -477,7 +477,7 @@
#error Unknown Architecture
#endif
-#elif defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
@@ -634,7 +634,7 @@
#error Unknown Architecture
#endif
-#elif defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
@@ -751,7 +751,7 @@
#error Unknown Architecture
#endif
-#elif defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
Modified: trunk/Source/WTF/ChangeLog (233407 => 233408)
--- trunk/Source/WTF/ChangeLog 2018-07-01 06:00:27 UTC (rev 233407)
+++ trunk/Source/WTF/ChangeLog 2018-07-01 06:52:34 UTC (rev 233408)
@@ -1,5 +1,14 @@
2018-06-30 Adam Barth <aba...@webkit.org>
+ Port _javascript_Core to OS(FUCHSIA)
+ https://bugs.webkit.org/show_bug.cgi?id=187223
+
+ Reviewed by Daniel Bates.
+
+ * wtf/Platform.h: Fuchsia uses mcontext_t to provide machine context.
+
+2018-06-30 Adam Barth <aba...@webkit.org>
+
Port WTF to OS(FUCHSIA)
https://bugs.webkit.org/show_bug.cgi?id=187221
Modified: trunk/Source/WTF/wtf/Platform.h (233407 => 233408)
--- trunk/Source/WTF/wtf/Platform.h 2018-07-01 06:00:27 UTC (rev 233407)
+++ trunk/Source/WTF/wtf/Platform.h 2018-07-01 06:52:34 UTC (rev 233408)
@@ -669,7 +669,7 @@
#define HAVE_CFNETWORK_STORAGE_PARTITIONING 1
#endif
-#if OS(DARWIN) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
#define HAVE_MACHINE_CONTEXT 1
#endif
Modified: trunk/Source/cmake/OptionsJSCOnly.cmake (233407 => 233408)
--- trunk/Source/cmake/OptionsJSCOnly.cmake 2018-07-01 06:00:27 UTC (rev 233407)
+++ trunk/Source/cmake/OptionsJSCOnly.cmake 2018-07-01 06:52:34 UTC (rev 233408)
@@ -98,12 +98,9 @@
endif ()
if (NOT APPLE)
- if (NOT WTF_OS_FUCHSIA)
- # TODO: Add ICU on Fuchsia.
- find_package(ICU REQUIRED)
- if (WIN32)
- add_definitions(-DUCHAR_TYPE=wchar_t)
- endif ()
+ find_package(ICU REQUIRED)
+ if (WIN32)
+ add_definitions(-DUCHAR_TYPE=wchar_t)
endif ()
else ()
add_definitions(-DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0)