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
    } 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);
      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;
      /* 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);
      }







|







|







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(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) = 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);
      }