Changeset 14269


Ignore:
Timestamp:
Sep 17, 2010, 10:42:38 PM (9 years ago)
Author:
gb
Message:

Some Android conditionalization.

Check for ARM function's codevector/entrypoint consistency in
integrity-check code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/arm-gc.c

    r14197 r14269  
    119119        Bug(NULL, "Header not expected at 0x%lx\n", prev);
    120120      }
     121      if (header_subtag(node) == subtag_function) {
     122        if (fulltag_of(current[0]) == fulltag_odd_fixnum) {
     123          if (untag(current[0]) != untag(current[1])) {
     124            Bug(NULL, "In function at 0x%lx, entrypoint (0x%lx) and codevector (0x%lx) don't match\n", (LispObj)prev,current[0],current[1]);
     125          }
     126        }
     127      }
     128               
    121129      elements = header_element_count(node) | 1;
    122130      while (elements--) {
     
    10101018     */
    10111019
    1012   for (r = arg_z; r <= fn; r++) {
     1020  for (r = arg_z; r <= Rfn; r++) {
    10131021    mark_root((regs[r]));
    10141022  }
     
    12921300     */
    12931301
    1294   for (r = arg_z; r <= fn;  r++) {
     1302  for (r = arg_z; r <= Rfn;  r++) {
    12951303    update_noderef((LispObj*) (&(regs[r])));
    12961304  }
     
    17411749   */
    17421750
    1743   for (r = arg_z; r <= fn; r++) {
     1751  for (r = arg_z; r <= Rfn; r++) {
    17441752    copy_ivector_reference((LispObj*) (&(regs[r])), low, high, to);
    17451753  };
     
    19531961   */
    19541962
    1955   for (r = arg_z; r <= fn; r++) {
     1963  for (r = arg_z; r <= Rfn; r++) {
    19561964    impurify_noderef((LispObj*) (&(regs[r])), low, high, delta);
    19571965  };
Note: See TracChangeset for help on using the changeset viewer.