Title: [233408] trunk
Revision
233408
Author
aba...@webkit.org
Date
2018-06-30 23:52:34 -0700 (Sat, 30 Jun 2018)

Log Message

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.

Source/_javascript_Core:

* 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):

Source/WTF:

* wtf/Platform.h: Fuchsia uses mcontext_t to provide machine context.

Modified Paths

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)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to