Переглянути джерело

Make the setting of dests for ORExand a little easier to read

Ian Goldberg 1 рік тому
батько
коміт
36d776aec7
1 змінених файлів з 11 додано та 11 видалено
  1. 11 11
      Enclave/storage.cpp

+ 11 - 11
Enclave/storage.cpp

@@ -127,9 +127,9 @@ void storage_received(MsgBuffer &storage_buf)
     uint32_t m_priv_in = g_teems_config.m_priv_in;
 
     uint32_t uid = *(uint32_t*)(buf);
+    uid &= uid_mask;
     // num_msgs is not a private value
     if (num_msgs > 0) {
-        uid &= uid_mask;
         dests[0] = oselect_uint32_t(uid * m_priv_in, 0xffffffff,
             uid == uid_mask);
     }
@@ -137,27 +137,27 @@ void storage_received(MsgBuffer &storage_buf)
     for (uint32_t i=1; i<num_msgs; ++i) {
         uid = *(uint32_t*)(buf + i*msg_size);
         uid &= uid_mask;
-        dests[i] = oselect_uint32_t(
-            oselect_uint32_t(uid * m_priv_in, dests[i-1]+1, uid==prev_uid),
-            0xffffffff, uid == uid_mask);
+        uint32_t next = oselect_uint32_t(uid * m_priv_in, dests[i-1]+1,
+            uid == prev_uid);
+        dests[i] = oselect_uint32_t(next, 0xffffffff, uid == uid_mask);
         prev_uid = uid;
     }
     for (uint32_t i=num_msgs; i<stg_size; ++i) {
         dests[i] = 0xffffffff;
         *(uint32_t*)(buf + i*msg_size) = 0xffffffff;
     }
+#ifdef PROFILE_STORAGE
+    printf_with_rtclock_diff(start_dest, "end setting dests (%u)\n", stg_size);
+#endif
     /*
     for (uint32_t i=0;i<stg_size; ++i) {
         printf("%3d: %08x %08x %u\n", i,
         *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size)),
-        *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+4))),
-        dests[i];
+        *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+4)),
+        dests[i]);
     }
     */
 
-#ifdef PROFILE_STORAGE
-    printf_with_rtclock_diff(start_dest, "end setting dests (%u)\n", stg_size);
-#endif
 #ifdef PROFILE_STORAGE
     unsigned long start_expand = printf_with_rtclock("begin ORExpand (%u)\n", stg_size);
 #endif
@@ -170,8 +170,8 @@ void storage_received(MsgBuffer &storage_buf)
     for (uint32_t i=0;i<stg_size; ++i) {
         printf("%3d: %08x %08x %u\n", i,
         *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size)),
-        *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+4))),
-        dests[i];
+        *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+4)),
+        dests[i]);
     }
     */