v8/test
franzih de04df7412 [type profile] Collect return types.
Collect type information of return values.

Use *one* feedback slot per function for all its return
statements. For assignments, we currently use
several slots per function, because not all
assignments refer to the same variable.

Instead of the variable names, pass the
source location and print the function name.

Add an integration test for --type-profile that checks
for crashes.

Remove type feedback for assignments for now as it convolutes the output.

************ Function with 2 return statements ********
function testFunction(param, flag) {
  // We want to test 2 different return positions in one function.
  if (flag) {
    var first_var = param;
    return first_var;
  }
  var second_var = param;
  return second_var;
}

testFunction({});
testFunction(123, true);
testFunction('hello');
testFunction(undefined);
*******************************************************

************* Sample Output ***************************
Function: testFunction
424: Object
374: number
424: string
424: undefined
*******************************************************

Missing work:
* Handle fall-off returns
* Collect types for parameters
* Remove duplicates from the list of collected types and use a common base class.

BUG=v8:5935

Review-Url: https://codereview.chromium.org/2755973002
Cr-Commit-Position: refs/heads/master@{#43956}
2017-03-20 19:51:20 +00:00
..
benchmarks [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
cctest [wasm] Transferrable modules 2017-03-20 19:03:23 +00:00
common [wasm] Cleanup wasm interpreter 2017-03-14 16:18:18 +00:00
debugger [debug] extend debug-evaluate to Date, Boolean, global functions. 2017-03-18 08:45:57 +00:00
fuzzer [wasm] compile fuzzer: initialize temporary before filling. 2017-03-01 17:33:29 +00:00
inspector [debug] collect coverage for functions on the stack when enabling. 2017-03-20 14:39:47 +00:00
intl [test] Fix fullcode and ignition testing variants 2017-03-14 09:59:04 +00:00
js-perf-test [test] Switch future/no-turbo perf configs for js-tests 2017-03-09 13:38:02 +00:00
memory [snapshot] support multiple contexts in the same snapshot. 2016-06-15 15:39:06 +00:00
message [type profile] Collect return types. 2017-03-20 19:51:20 +00:00
mjsunit [type profile] Collect return types. 2017-03-20 19:51:20 +00:00
mozilla [regexp] Correct lastIndex behavior in RegExp.prototype[@@replace] 2017-02-16 09:21:37 +00:00
preparser [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
promises-aplus Make test262 test runner check for which exception is thrown 2016-03-14 21:20:37 +00:00
simdjs Store the FunctionTemplateInfo used to create remote objects in the map 2017-03-15 15:57:38 +00:00
test262 [test] Mark slow tests 2017-03-15 12:05:12 +00:00
unittests [wasm] Transferrable modules 2017-03-20 19:03:23 +00:00
webkit [unibrow] remove mongolian vowel separator as white space. 2017-02-28 13:42:29 +00:00
bot_default.gyp Add inspector tests to default tests to run locally. 2016-11-04 08:50:07 +00:00
bot_default.isolate [debugger] basic test infrastructure for new debugger test api. 2016-10-21 06:38:05 +00:00
BUILD.gn Remove SIMD.js from V8. 2017-02-14 06:57:25 +00:00
default.gyp Add inspector tests to default tests to run locally. 2016-11-04 08:50:07 +00:00
default.isolate Add inspector tests to default tests to run locally. 2016-11-04 08:50:07 +00:00
optimize_for_size.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
optimize_for_size.isolate [debugger] basic test infrastructure for new debugger test api. 2016-10-21 06:38:05 +00:00
perf.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
perf.isolate Remove SIMD.js from V8. 2017-02-14 06:57:25 +00:00