deps/v8/src/debug/liveedit.js
function CheckStackActivations(old_shared_wrapper_list,
                                 new_shared_list,
                                 change_log) {
    var old_shared_list = new GlobalArray();
    for (var i = 0; i < old_shared_wrapper_list.length; i++) {
      old_shared_list[i] = old_shared_wrapper_list[i].info;
    }
    var result = %LiveEditCheckAndDropActivations(
                     old_shared_list, new_shared_list, true);
    if (result[old_shared_wrapper_list.length]) {
      // Extra array element may contain error message.
      throw new Failure(result[old_shared_wrapper_list.length]);
    }

    var problems = new GlobalArray();
    var dropped = new GlobalArray();
    for (var i = 0; i < old_shared_list.length; i++) {
      var shared = old_shared_wrapper_list[i];
      if (result[i] == FunctionPatchabilityStatus.REPLACED_ON_ACTIVE_STACK) {
        dropped.push({ name: shared.function_name } );
      } else if (result[i] != FunctionPatchabilityStatus.AVAILABLE_FOR_PATCH) {
        var description = {
            name: shared.function_name,
            start_pos: shared.start_position,
            end_pos: shared.end_position,
            replace_problem:
                FunctionPatchabilityStatus.SymbolName(result[i])
        };
        problems.push(description);
      }
    }
    if (dropped.length > 0) {
      change_log.push({ dropped_from_stack: dropped });
    }
    if (problems.length > 0) {
      change_log.push( { functions_on_stack: problems } );
      throw new Failure("Blocked by functions on stack");
    }

    return dropped.length;
  }
function CheckStackActivations(old_shared_wrapper_list,
                                 new_shared_list,
                                 change_log) {
    var old_shared_list = new GlobalArray();
    for (var i = 0; i < old_shared_wrapper_list.length; i++) {
      old_shared_list[i] = old_shared_wrapper_list[i].info;
    }
    var result = %LiveEditCheckAndDropActivations(
                     old_shared_list, new_shared_list, true);
    if (result[old_shared_wrapper_list.length]) {
      // Extra array element may contain error message.
      throw new Failure(result[old_shared_wrapper_list.length]);
    }

    var problems = new GlobalArray();
    var dropped = new GlobalArray();
    for (var i = 0; i < old_shared_list.length; i++) {
      var shared = old_shared_wrapper_list[i];
      if (result[i] == FunctionPatchabilityStatus.REPLACED_ON_ACTIVE_STACK) {
        dropped.push({ name: shared.function_name } );
      } else if (result[i] != FunctionPatchabilityStatus.AVAILABLE_FOR_PATCH) {
        var description = {
            name: shared.function_name,
            start_pos: shared.start_position,
            end_pos: shared.end_position,
            replace_problem:
                FunctionPatchabilityStatus.SymbolName(result[i])
        };
        problems.push(description);
      }
    }
    if (dropped.length > 0) {
      change_log.push({ dropped_from_stack: dropped });
    }
    if (problems.length > 0) {
      change_log.push( { functions_on_stack: problems } );
      throw new Failure("Blocked by functions on stack");
    }

    return dropped.length;
  }
function CheckStackActivations ( old_shared_wrapper_list , new_shared_list , change_log ) { var old_shared_list = new GlobalArray ( ) ; for ( var i = 0 ; i < old_shared_wrapper_list . length ; i ++ ) { old_shared_list [ i ] = old_shared_wrapper_list [ i ] . info ; } var result = % LiveEditCheckAndDropActivations ( old_shared_list , new_shared_list , true ) ; if ( result [ old_shared_wrapper_list . length ] ) { // Extra array element may contain error message. throw new Failure ( result [ old_shared_wrapper_list . length ] ) ; } var problems = new GlobalArray ( ) ; var dropped = new GlobalArray ( ) ; for ( var i = 0 ; i < old_shared_list . length ; i ++ ) { var shared = old_shared_wrapper_list [ i ] ; if ( result [ i ] == FunctionPatchabilityStatus . REPLACED_ON_ACTIVE_STACK ) { dropped . push ( { name : shared . function_name } ) ; } else if ( result [ i ] != FunctionPatchabilityStatus . AVAILABLE_FOR_PATCH ) { var description = { name : shared . function_name , start_pos : shared . start_position , end_pos : shared . end_position , replace_problem : FunctionPatchabilityStatus . SymbolName ( result [ i ] ) } ; problems . push ( description ) ; } } if ( dropped . length > 0 ) { change_log . push ( { dropped_from_stack : dropped } ) ; } if ( problems . length > 0 ) { change_log . push ( { functions_on_stack : problems } ) ; throw new Failure ( "Blocked by functions on stack" ) ; } return dropped . length ; }
For array of wrapped shared function infos checks that none of them have activations on stack (of any thread). Throws a Failure exception if this proves to be false.
For array of wrapped shared function infos checks that none of them have activations on stack ( of any thread ) . Throws a Failure exception if this proves to be false .