Bug 993174 - SpiderMonkey: Fix missing declarations under --disable-unified-compilation r=mrosenberg
authorDan Gohman <sunfish@mozilla.com>
Tue, 08 Apr 2014 06:53:42 -0700
changeset 177569 a6ba4478e9d20c7136dbb0737930ed8ddea91488
parent 177568 568c9573340af6ebb129a1563b5a5662147c1ea8
child 177570 e9f369349de830f83d1fad868ccb3ab158380f2d
push id26556
push userryanvm@gmail.com
push dateTue, 08 Apr 2014 22:16:57 +0000
treeherdermozilla-central@5811efc11011 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmrosenberg
bugs993174
milestone31.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 993174 - SpiderMonkey: Fix missing declarations under --disable-unified-compilation r=mrosenberg
js/src/jit/arm/Simulator-arm.cpp
--- a/js/src/jit/arm/Simulator-arm.cpp
+++ b/js/src/jit/arm/Simulator-arm.cpp
@@ -32,16 +32,35 @@
 #include "mozilla/FloatingPoint.h"
 #include "mozilla/Likely.h"
 #include "mozilla/MathAlgorithms.h"
 
 #include "jit/arm/Assembler-arm.h"
 #include "jit/AsmJS.h"
 #include "vm/Runtime.h"
 
+extern "C" {
+
+int64_t
+__aeabi_idivmod(int x, int y)
+{
+    uint32_t lo = uint32_t(x / y);
+    uint32_t hi = uint32_t(x % y);
+    return (int64_t(hi) << 32) | lo;
+}
+
+int64_t
+__aeabi_uidivmod(int x, int y)
+{
+    uint32_t lo = uint32_t(x) / uint32_t(y);
+    uint32_t hi = uint32_t(x) % uint32_t(y);
+    return (int64_t(hi) << 32) | lo;
+}
+}
+
 namespace js {
 namespace jit {
 
 // Load/store multiple addressing mode.
 enum BlockAddrMode {
     // Alias modes for comparison when writeback does not matter.
     da_x         = (0|0|0) << 21,  // Decrement after.
     ia_x         = (0|4|0) << 21,  // Increment after.
@@ -4266,27 +4285,8 @@ JSRuntime::simulatorRuntime() const
 }
 
 void
 JSRuntime::setSimulatorRuntime(js::jit::SimulatorRuntime *srt)
 {
     MOZ_ASSERT(!simulatorRuntime_);
     simulatorRuntime_ = srt;
 }
-
-extern "C" {
-
-int64_t
-__aeabi_idivmod(int x, int y)
-{
-    uint32_t lo = uint32_t(x / y);
-    uint32_t hi = uint32_t(x % y);
-    return (int64_t(hi) << 32) | lo;
-}
-
-int64_t
-__aeabi_uidivmod(int x, int y)
-{
-    uint32_t lo = uint32_t(x) / uint32_t(y);
-    uint32_t hi = uint32_t(x) % uint32_t(y);
-    return (int64_t(hi) << 32) | lo;
-}
-}