summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/v8/src/platform-qnx.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/v8/src/platform-qnx.cc')
-rw-r--r--src/3rdparty/v8/src/platform-qnx.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/3rdparty/v8/src/platform-qnx.cc b/src/3rdparty/v8/src/platform-qnx.cc
index 46d69b8..e535756 100644
--- a/src/3rdparty/v8/src/platform-qnx.cc
+++ b/src/3rdparty/v8/src/platform-qnx.cc
@@ -125,12 +125,15 @@ static bool CPUInfoContainsString(const char * search_string) {
bool OS::ArmCpuHasFeature(CpuFeature feature) {
switch (feature) {
+ case VFP2:
case VFP3:
// All shipping devices currently support this and QNX has no easy way to
// determine this at runtime.
return true;
case ARMv7:
return (SYSPAGE_ENTRY(cpuinfo)->flags & ARM_CPU_FLAG_V7) != 0;
+ case SUDIV:
+ return CPUInfoContainsString("idiva");
default:
UNREACHABLE();
}
@@ -138,6 +141,12 @@ bool OS::ArmCpuHasFeature(CpuFeature feature) {
return false;
}
+CpuImplementer OS::GetCpuImplementer() {
+ // We do NOT return QUALCOMM_IMPLEMENTER, even though /proc/cpuinfo
+ // has "CPU implementer : 0x51" in it, as that leads to a runtime
+ // error on the first JS function call.
+ return UNKNOWN_IMPLEMENTER;
+}
bool OS::ArmUsingHardFloat() {
// GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
@@ -377,7 +386,7 @@ void OS::LogSharedLibraryAddresses() {
return;
}
- /* Get the number of map entrys. */
+ /* Get the number of map entries. */
if (devctl(proc_fd, DCMD_PROC_MAPINFO, NULL, 0, &num) != EOK) {
close(proc_fd);
return;
@@ -389,7 +398,7 @@ void OS::LogSharedLibraryAddresses() {
return;
}
- /* Fill the map entrys. */
+ /* Fill the map entries. */
if (devctl(proc_fd, DCMD_PROC_PAGEDATA, mapinfos, num * sizeof(procfs_mapinfo), &num) != EOK) {
free(mapinfos);
close(proc_fd);
@@ -595,6 +604,10 @@ bool VirtualMemory::ReleaseRegion(void* base, size_t size) {
return munmap(base, size) == 0;
}
+bool VirtualMemory::HasLazyCommits() {
+ return false;
+}
+
class Thread::PlatformData : public Malloced {
public:
@@ -980,7 +993,7 @@ class SignalSender : public Thread {
void Sleep(SleepInterval full_or_half) {
// Convert ms to us and subtract 100 us to compensate delays
- // occuring during signal delivery.
+ // occurring during signal delivery.
useconds_t interval = interval_ * 1000 - 100;
if (full_or_half == HALF_INTERVAL) interval /= 2;
int result = usleep(interval);