Does this mean it never tries to build d8 when you call the profiler?

2009/6/18 <[email protected]>

> Reviewers: Erik Corry,
>
> Description:
> Two requested changes to tick processor.
>
> 1. If D8_PATH isn't specified, first try to locate 'd8' shell in path,
>   and if not found, fallback to the one in tools_path/..
> 2. Add '--nm=<nm_exec>' parameter to specify 'nm' executable to use.
>
> Please review this at http://codereview.chromium.org/132021
>
> Affected files:
>  M tools/linux-tick-processor
>  M tools/tickprocessor.js
>
>
> Index: tools/linux-tick-processor
> diff --git a/tools/linux-tick-processor b/tools/linux-tick-processor
> index
> 2de988cc4b38049cd6e4cbb0ec72d06f36c98938..3df7ce1864b30b682a833fe68139b13c2bded182
> 100755
> --- a/tools/linux-tick-processor
> +++ b/tools/linux-tick-processor
> @@ -1,6 +1,10 @@
>  #!/bin/sh
>
>  tools_path=`cd $(dirname "$0");pwd`
> +if [ ! "$D8_PATH" ]; then
> +  d8_public=`which d8`
> +  if [ $d8_public ]; then D8_PATH=$(dirname "$d8_public"); fi
> +fi
>  [ "$D8_PATH" ] || D8_PATH=$tools_path/..
>  d8_exec=$D8_PATH/d8
>
> Index: tools/tickprocessor.js
> diff --git a/tools/tickprocessor.js b/tools/tickprocessor.js
> index
> 72d367f1990aab42b80b46435b3e446f8bddd5fd..ed6b34b9faa0faf0d1ce8a7e9453ce29076285c0
> 100644
> --- a/tools/tickprocessor.js
> +++ b/tools/tickprocessor.js
> @@ -410,9 +410,10 @@ CppEntriesProvider.prototype.parseNextLine =
> function() {
>  };
>
>
> -function UnixCppEntriesProvider() {
> +function UnixCppEntriesProvider(nmExec) {
>   this.symbols = [];
>   this.parsePos = 0;
> +  this.nmExec = nmExec;
>  };
>  inherits(UnixCppEntriesProvider, CppEntriesProvider);
>
> @@ -424,8 +425,8 @@ UnixCppEntriesProvider.prototype.loadSymbols =
> function(libName) {
>   this.parsePos = 0;
>   try {
>     this.symbols = [
> -      os.system('nm', ['-C', '-n', libName], -1, -1),
> -      os.system('nm', ['-C', '-n', '-D', libName], -1, -1)
> +      os.system(this.nmExec, ['-C', '-n', libName], -1, -1),
> +      os.system(this.nmExec, ['-C', '-n', '-D', libName], -1, -1)
>     ];
>   } catch (e) {
>     // If the library cannot be found on this system let's not panic.
> @@ -523,7 +524,8 @@ function processArguments(args) {
>     platform: 'unix',
>     stateFilter: null,
>     ignoreUnknown: false,
> -    separateIc: false
> +    separateIc: false,
> +    nm: 'nm'
>   };
>   var argsDispatch = {
>     '-j': ['stateFilter', TickProcessor.VmStates.JS,
> @@ -543,7 +545,9 @@ function processArguments(args) {
>     '--unix': ['platform', 'unix',
>         'Specify that we are running on *nix platform'],
>     '--windows': ['platform', 'windows',
> -        'Specify that we are running on Windows platform']
> +        'Specify that we are running on Windows platform'],
> +    '--nm': ['nm', 'nm',
> +        'Specify the \'nm\' executable to use (e.g. --nm=/my_dir/nm)']
>   };
>   argsDispatch['--js'] = argsDispatch['-j'];
>   argsDispatch['--gc'] = argsDispatch['-g'];
> @@ -575,9 +579,15 @@ function processArguments(args) {
>       break;
>     }
>     args.shift();
> +    var userValue = null;
> +    var eqPos = arg.indexOf('=');
> +    if (eqPos != -1) {
> +      userValue = arg.substr(eqPos + 1);
> +      arg = arg.substr(0, eqPos);
> +    }
>     if (arg in argsDispatch) {
>       var dispatch = argsDispatch[arg];
> -      result[dispatch[0]] = dispatch[1];
> +      result[dispatch[0]] = userValue == null ? dispatch[1] : userValue;
>     } else {
>       printUsageAndExit();
>     }
> @@ -592,7 +602,7 @@ function processArguments(args) {
>
>  var params = processArguments(arguments);
>  var tickProcessor = new TickProcessor(
> -    params.platform == 'unix' ? new UnixCppEntriesProvider() :
> +    params.platform == 'unix' ? new UnixCppEntriesProvider(params.nm) :
>         new WindowsCppEntriesProvider(),
>     params.separateIc,
>     params.ignoreUnknown,
>
>
>


-- 
Erik Corry, Software Engineer
Google Denmark ApS.  CVR nr. 28 86 69 84
c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 Copenhagen K,
Denmark.

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to