Index: test/cctest/test-parsing.cc |
diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc |
index b36621742ae2824c01b72a538145b6263d184c8c..32c515cc89899c17068cf28257610caa7d5a9b7a 100644 |
--- a/test/cctest/test-parsing.cc |
+++ b/test/cctest/test-parsing.cc |
@@ -2745,3 +2745,29 @@ TEST(InnerAssignment) { |
} |
} |
} |
+ |
+namespace { |
+ |
+int* global_use_counts = NULL; |
+ |
+void MockUseCounterCallback(v8::Isolate* isolate, |
+ v8::Isolate::UseCounterFeature feature) { |
+ ++global_use_counts[feature]; |
+} |
+ |
+} |
+ |
+ |
+TEST(UseAsmUseCount) { |
+ i::Isolate* isolate = CcTest::i_isolate(); |
+ i::HandleScope scope(isolate); |
+ LocalContext env; |
+ int use_counts[v8::Isolate::kUseCounterFeatureCount] = {}; |
+ global_use_counts = use_counts; |
+ CcTest::isolate()->SetUseCounterCallback(MockUseCounterCallback); |
+ CompileRun("\"use asm\";\n" |
+ "var foo = 1;\n" |
+ "\"use asm\";\n" // Only the first one counts. |
+ "function bar() { \"use asm\"; var baz = 1; }"); |
+ CHECK_EQ(2, use_counts[v8::Isolate::kUseAsm]); |
+} |