Example usage for com.google.gwt.coreext.client JSOArray set

List of usage examples for com.google.gwt.coreext.client JSOArray set

Introduction

In this page you can find the example usage for com.google.gwt.coreext.client JSOArray set.

Prototype

public final native void set(int index, T value) ;

Source Link

Usage

From source file:com.google.speedtracer.client.model.JavaScriptProfileModelV8Impl.java

License:Apache License

/**
 * Process a portion of the logLines array. If the workQueue is enabled, exit
 * early if the timeslice expires.//from   ww  w. j  a  va 2 s . co m
 */
private void processLogLines(final UiEvent refRecord, final JSOArray<String> logLines, int currentLine) {
    final int logLinesLength = logLines.size();

    for (; currentLine < logLinesLength; ++currentLine) {
        if (workQueue != null) {
            // Occasionally check to see if the time to run this chunk has expired.
            if ((currentLine % 10 == 0) && workQueue.isTimeSliceExpired()) {
                break;
            }
        }

        String logLine = logLines.get(currentLine);
        if (logDecompressor != null && logLine.length() > 0) {
            logLine = logDecompressor.decompressLogEntry(logLine);
        }
        JsArrayString decompressedLogLine = Csv.split(logLine);
        if (decompressedLogLine.length() > 0) {
            parseLogEntry(decompressedLogLine);
        }

        // force gc on processed log lines.
        logLines.set(currentLine, null);
    }

    if (currentLine < logLinesLength) {
        // Schedule this record to be the next thing run off the queue
        workQueue.prepend(new LogLineWorker(logLines, refRecord, currentLine));
    } else {
        // All done!
        if (currentProfile.getProfile(JavaScriptProfile.PROFILE_TYPE_BOTTOM_UP) == null) {
            if (refRecord != null) {
                refRecord.setHasJavaScriptProfile(false);
            }
        } else {
            if (refRecord != null) {
                refRecord.setHasJavaScriptProfile(true);
            }
        }
    }
}