Index: modules/javafx.web/src/main/native/Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp
--- modules/javafx.web/src/main/native/Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp.orig
+++ modules/javafx.web/src/main/native/Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp
@@ -28,7 +28,11 @@
 #include "config.h"
 #include <wtf/MemoryPressureHandler.h>
 
+#if OS(LINUX)
 #include <malloc.h>
+#else
+#include <stdlib.h>
+#endif
 #include <unistd.h>
 #include <wtf/Logging.h>
 #include <wtf/MainThread.h>
@@ -37,7 +41,7 @@
 
 #if OS(LINUX)
 #include <wtf/linux/CurrentProcessMemoryStatus.h>
-#elif OS(FREEBSD)
+#elif OS(FREEBSD) || OS(OPENBSD)
 #include <sys/sysctl.h>
 #include <sys/types.h>
 #include <sys/user.h>
@@ -130,6 +134,23 @@ static size_t processMemoryUsage()
         return 0;
 
     return static_cast<size_t>(info.ki_rssize - info.ki_tsize) * pageSize;
+#elif OS(OPENBSD)
+    static size_t pageSize = sysconf(_SC_PAGE_SIZE);
+    struct kinfo_proc info;
+    size_t infolen = sizeof(info);
+
+    int mib[6];
+    mib[0] = CTL_KERN;
+    mib[1] = KERN_PROC;
+    mib[2] = KERN_PROC_PID;
+    mib[3] = getpid();
+    mib[4] = sizeof(struct kinfo_proc);
+    mib[5] = 1;
+
+    if (sysctl(mib, 6, &info, &infolen, nullptr, 0))
+        return 0;
+
+    return static_cast<size_t>(info.p_vm_rssize) * pageSize;
 #elif OS(QNX)
     int fd = open("/proc/self/ctl", O_RDONLY);
     if (fd == -1)
