v8/test/inspector
Franziska Hinkelmann 335c8ad009 [type-profile] Incorporate into inspector protocol.
JavaScript is a dynamically typed language. But most code is 
written with fixed types in mind. When debugging JavaScript, 
it is helpful to know the types of variables and parameters 
at runtime. It is often hard to infer types for complex code. 
Type profiling provides this information at runtime.

Node.js uses the inspector protocol. This CL allows Node.js users 
to access and analyse type profile for via Node modules or the
in-procress api. Type Profile helps developers to analyze 
their code for correctness and performance.  

Design doc: https://docs.google.com/a/google.com/document/d/1O1uepXZXBI6IwiawTrYC3ohhiNgzkyTdjn3R8ysbYgk/edit?usp=sharing

Add `takeTypeProfile` to the inspector protocol. It returns a list
of TypeProfileForScripts, which in turn contains the type profile for
each function. We can use TypeProfile data to annotate JavaScript code. 

Sample script with data from TypeProfile:
function f(/*Object, number, undefined*/a, 
           /*Array, number, null*/b, 
           /*boolean, Object, symbol*/c) {
  return 'bye';
/*string*/};
f({}, [], true);
f(3, 2.3, {a: 42});
f(undefined, null, Symbol('hello'));/*string*/

Bug: v8:5933
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I626bfb886b752f90b9c86cc6953601558b18b60d
Reviewed-on: https://chromium-review.googlesource.com/508588
Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47920}
2017-09-08 09:46:12 +00:00
..
console [inspector] rewritten test/inspector/let-const-with-api.js 2017-08-01 15:36:02 +00:00
cpu-profiler [type-profile] Incorporate into inspector protocol. 2017-09-08 09:46:12 +00:00
debugger [inspector] added url to Debugger.CallFrame 2017-09-07 16:39:31 +00:00
heap-profiler [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
runtime [inspector] added url to Debugger.CallFrame 2017-09-07 16:39:31 +00:00
sessions [inspector] Issue Debugger.paused during Debugger.enable if already paused 2017-08-22 21:43:27 +00:00
type-profiler [type-profile] Incorporate into inspector protocol. 2017-09-08 09:46:12 +00:00
BUILD.gn [inspector] Merge InspectorClientImpl into IsolateData 2017-05-22 00:48:27 +00:00
DEPS [inspector] introduce limit for amount of stored async stacks 2016-12-18 17:04:40 +00:00
inspector-test.cc Pass Isolate pointer to String::Utf8Value/Value constructors 2017-08-28 18:17:08 +00:00
inspector.gyp [inspector] Merge InspectorClientImpl into IsolateData 2017-05-22 00:48:27 +00:00
inspector.isolate [type-profile] Incorporate into inspector protocol. 2017-09-08 09:46:12 +00:00
inspector.status [test] Rebaseline inspector test. 2017-08-11 08:28:30 +00:00
isolate-data.cc Delegate getting current wall-clock time to the Platform interface. 2017-08-30 06:28:09 +00:00
isolate-data.h [inspector] improved Runtime.queryObjects 2017-08-23 20:19:19 +00:00
json-parse-expected.txt [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
json-parse.js [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
OWNERS Add COMPONENT tags to OWNERS files where appropriate 2017-05-22 10:15:28 +00:00
protocol-test.js [type-profile] Incorporate into inspector protocol. 2017-09-08 09:46:12 +00:00
task-runner.cc Pass Isolate pointer to String::Utf8Value/Value constructors 2017-08-28 18:17:08 +00:00
task-runner.h [inspector] Cleanup inspector test 2017-05-22 20:46:42 +00:00
testcfg.py [inspector] always include user scripts in the snapshot. 2017-04-26 15:13:14 +00:00