Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Unified Diff: src/compiler/bytecode-graph-builder.cc

Issue 2707873002: Collect type profile for DevTools. (Closed)
Patch Set: Delete unused var Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/compiler/bytecode-graph-builder.cc
diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc
index 10ded107ed718071dc64b51a60b1cdbd1a378da5..0f496ddc0f2bdc94fab7223e5bc516beb3c3d487 100644
--- a/src/compiler/bytecode-graph-builder.cc
+++ b/src/compiler/bytecode-graph-builder.cc
@@ -802,6 +802,21 @@ void BytecodeGraphBuilder::VisitStaDataPropertyInLiteral() {
environment()->RecordAfterState(node, Environment::kAttachFrameState);
}
+void BytecodeGraphBuilder::VisitCollectTypeProfile() {
+ PrepareEagerCheckpoint();
+
+ Node* name =
+ environment()->LookupRegister(bytecode_iterator().GetRegisterOperand(0));
+ Node* value = environment()->LookupAccumulator();
+ VectorSlotPair feedback =
+ CreateVectorSlotPair(bytecode_iterator().GetIndexOperand(1));
+
+ const Operator* op = javascript()->CollectTypeProfile(feedback);
rmcilroy 2017/03/13 10:50:59 Do we want to collect type profile data in optimiz
Franzi 2017/03/13 12:01:56 I think we want to collect types for optimized cod
rmcilroy 2017/03/13 12:05:45 I thought generally nothing was optimized once we
+
+ Node* node = NewNode(op, name, value);
Michael Starzinger 2017/03/14 13:12:43 Do we ever want to optimize the CollectTypeProfile
Yang 2017/03/14 13:35:22 We might want to optimize it in the future. But fo
Michael Starzinger 2017/03/14 13:41:38 +1 to keeping it simple in the TurboFan IR for now
Franzi 2017/03/14 15:55:11 I deleted the opcode. Please have another look. Th
+ environment()->RecordAfterState(node, Environment::kAttachFrameState);
+}
+
void BytecodeGraphBuilder::VisitLdaContextSlot() {
const Operator* op = javascript()->LoadContext(
bytecode_iterator().GetUnsignedImmediateOperand(2),

Powered by Google App Engine
This is Rietveld 408576698