RAPL

Diff
Login

Diff

Differences From Artifact [09c28ec85c]:

To Artifact [af4f912230]:


160
161
162
163
164
165
166
167

168
169
170
171
172
173
174
160
161
162
163
164
165
166

167
168
169
170
171
172
173
174







-
+







    if (word_tokens == 1 && stmt.intv[0]) {
      stmt.interp.empty_obj.decrRefCount(stmt.intv[0]);
      return stmt.intv[0];
    }

    /* Concatenate every token in an unique
     * object. */
    obj_ptr = stmt.interp.empty_obj.newStringObjectNoAlloc(null, 0);
    obj_ptr = stmt.interp.string_obj_type.newStringObjNoAlloc(null, 0);

    if (word_tokens == 4 && token[idx + 0].token == stmt.TOKEN_ESC && token[idx + 1].token == stmt.TOKEN_ESC
        && token[idx + 2].token == stmt.TOKEN_VAR) {
      /* May be able to do fast interpolated object -> dictSubst */
      obj_ptr.obj_type = obj_ptr.interpolatedObjType;
      obj_ptr.twoPtrValue.ptr1(token);
      obj_ptr.twoPtrValue.ptr2(stmt.intv[idx + 2]);
525
526
527
528
529
530
531
532

533
534
535
536
537
538

539
540

541
542
543
544
545
546
547
525
526
527
528
529
530
531

532
533
534
535
536
537

538
539

540
541
542
543
544
545
546
547







-
+





-
+

-
+







      if (len >= 3) {
        var obj_ptr;
        if (Jim_ListIndex(stmt.interp.stack_trace, len - 3, obj_ptr, stmt.FUNCTION_FLAGS_NONE) == stmt.OK && Jim_Length(obj_ptr)) {
          /* Yes, the previous level had procname */
          if (Jim_ListIndex(stmt.interp.stack_trace, len - 2, objPtr, stmt.FUNCTION_FLAGS_NONE) == stmt.OK && !Jim_Length(obj_ptr)) {
            /* But no filename, so merge the new info with that frame */
            ListSetIndex(stmt.interp.stack_trace, len - 2, file_name_obj, 0);
            ListSetIndex(stmt.interp.stack_trace, len - 1, file_nameObj.newIntObject(linenr), 0);
            ListSetIndex(stmt.interp.stack_trace, len - 1, stmt.interp.int_obj_type.newIntObj(linenr), 0);
            return;
          }
        }
      }
    }
    stmt.interp.list_obj_type.listAppendElement(stmt.interp.stack_trace, file_name_obj.newStringObject(procname, -1));
    stmt.interp.list_obj_type.listAppendElement(stmt.interp.stack_trace, stmt.interp.string_obj_type.newStringObj(procname, -1));
    stmt.interp.list_obj_type.listAppendElement(stmt.interp.stack_trace, file_name_obj);
    stmt.interp.list_obj_type.listAppendElement(stmt.interp.stack_trace, file_name_obj.newIntObject(linenr));
    stmt.interp.list_obj_type.listAppendElement(stmt.interp.stack_trace, stmt.interp.int_obj_type.newIntObj(linenr));
  },

  /* ==================== isBracedParam ===================================== */
  isBracedParam: function (val) {
     return (val instanceof TclWord);
  },