blob: b22c599cb4b7514dea8816dd1991cbf24d741487 [file] [log] [blame]
Ben Murdochc5610432016-08-08 18:44:38 +01001// Copyright 2016 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "src/extensions/ignition-statistics-extension.h"
6
7#include "src/interpreter/bytecodes.h"
8#include "src/interpreter/interpreter.h"
9#include "src/isolate.h"
10
11namespace v8 {
12namespace internal {
13
14v8::Local<v8::FunctionTemplate>
15IgnitionStatisticsExtension::GetNativeFunctionTemplate(
16 v8::Isolate* isolate, v8::Local<v8::String> name) {
17 DCHECK_EQ(strcmp(*v8::String::Utf8Value(name), "getIgnitionDispatchCounters"),
18 0);
19 return v8::FunctionTemplate::New(
20 isolate, IgnitionStatisticsExtension::GetIgnitionDispatchCounters);
21}
22
23const char* const IgnitionStatisticsExtension::kSource =
24 "native function getIgnitionDispatchCounters();";
25
26void IgnitionStatisticsExtension::GetIgnitionDispatchCounters(
27 const v8::FunctionCallbackInfo<v8::Value>& args) {
28 DCHECK_EQ(args.Length(), 0);
29 DCHECK(FLAG_trace_ignition_dispatches);
30 args.GetReturnValue().Set(reinterpret_cast<Isolate*>(args.GetIsolate())
31 ->interpreter()
32 ->GetDispatchCountersObject());
33}
34
35} // namespace internal
36} // namespace v8