RAPL

Diff
Login

Diff

Differences From Artifact [b2f802a3ba]:

To Artifact [4be5de5961]:


354
355
356
357
358
359
360
361

362
363
364
365
366
367
368
369

370
371
372
373
374
375
376
354
355
356
357
358
359
360

361
362
363
364
365
366
367
368

369
370
371
372
373
374
375
376







-
+







-
+







    } else {
      wide_value = new Array();
      if (interp.int_obj_type.getWide(int_obj_ptr, wide_value) != interp.OK) {
        return interp.ERROR;
      }
    }
    if (!int_obj_ptr || int_obj_ptr.isShared()) {
      int_obj_ptr = interp.int_obj_type.newIntObj(wide_value + increment);
      int_obj_ptr = interp.int_obj_type.newIntObj(parseInt(wide_value, 10) + parseInt(increment, 10));
      if (interp.variable_obj_type.setVariable(args[1], int_obj_ptr) != interp.OK) {
        int_obj_ptr.freeNewObj();
        return interp.ERROR;
      }
    } else {
      /* Can do it the quick way */
      int_obj_ptr.invalidateStringRep();
      interp.default_obj_type.wideValue(int_obj_ptr) = wide_value + increment;
      interp.default_obj_type.wideValue(int_obj_ptr) = parseInt(wide_value, 10) + parseInt(increment);
      /* The following step is required in order to invalidate the
       * string repr of "FOO" if the var name is on the form of "FOO(IDX)" 
       */
      if (args[1].obj_type != interp.variable_obj_type) {
        /* Note that this can't fail since GetVariable already succeeded */
        interp.variable_obj_type.setVariable(args[1], int_obj_ptr);
      }