summaryrefslogtreecommitdiffstats
path: root/chromium/v8/tools/turbolizer/src/source-resolver.ts
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/tools/turbolizer/src/source-resolver.ts
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/tools/turbolizer/src/source-resolver.ts')
-rw-r--r--chromium/v8/tools/turbolizer/src/source-resolver.ts43
1 files changed, 41 insertions, 2 deletions
diff --git a/chromium/v8/tools/turbolizer/src/source-resolver.ts b/chromium/v8/tools/turbolizer/src/source-resolver.ts
index 588eea5b995..085b44f3a75 100644
--- a/chromium/v8/tools/turbolizer/src/source-resolver.ts
+++ b/chromium/v8/tools/turbolizer/src/source-resolver.ts
@@ -83,7 +83,7 @@ interface InstructionsPhase {
instructionOffsetToPCOffset?: any;
blockIdtoInstructionRange?: any;
nodeIdToInstructionRange?: any;
- codeOffsetsInfo?: CodeOffsetsInfo
+ codeOffsetsInfo?: CodeOffsetsInfo;
}
interface GraphPhase {
@@ -100,8 +100,44 @@ export interface Schedule {
nodes: Array<any>;
}
+export class Interval {
+ start: number;
+ end: number;
+
+ constructor(numbers: [number, number]) {
+ this.start = numbers[0];
+ this.end = numbers[1];
+ }
+}
+
+export interface ChildRange {
+ id: string;
+ type: string;
+ op: any;
+ intervals: Array<[number, number]>;
+ uses: Array<number>;
+}
+
+export interface Range {
+ child_ranges: Array<ChildRange>;
+ is_deferred: boolean;
+}
+
+export class RegisterAllocation {
+ fixedDoubleLiveRanges: Map<string, Range>;
+ fixedLiveRanges: Map<string, Range>;
+ liveRanges: Map<string, Range>;
+
+ constructor(registerAllocation) {
+ this.fixedDoubleLiveRanges = new Map<string, Range>(Object.entries(registerAllocation.fixed_double_live_ranges));
+ this.fixedLiveRanges = new Map<string, Range>(Object.entries(registerAllocation.fixed_live_ranges));
+ this.liveRanges = new Map<string, Range>(Object.entries(registerAllocation.live_ranges));
+ }
+}
+
export interface Sequence {
blocks: Array<any>;
+ register_allocation: RegisterAllocation;
}
class CodeOffsetsInfo {
@@ -720,8 +756,11 @@ export class SourceResolver {
phase.schedule = state;
return phase;
}
+
parseSequence(phase) {
- phase.sequence = { blocks: phase.blocks };
+ phase.sequence = { blocks: phase.blocks,
+ register_allocation: phase.register_allocation ? new RegisterAllocation(phase.register_allocation)
+ : undefined };
return phase;
}
}