Cool, thanks. One more thing. I was able to turn on all those flags
from code using v8::SetFlagsFromString. Most of the output I
understand, but there is some output when using "--trace_calls" that
is a but confusing.
It outputs a sort of key table that has a bunch of what it looks to be
like errors in JS code. Does anybody know how to decipher this or what
it means? Cause the JS code runs fine, but when trace is on this it
output.
#4# 0x65c00abd: 0x65c00abd <JS Global Object>
#5# 0x65c22c81: 0x65c22c81 <JS Function>
#6# 0x65c22ac5: 0x65c22ac5 <JS Function Class>
#7# 0x65c0c335: 0x65c0c335 <a MathConstructor>>
E: 0x65c71fe9 <Number: 2.718281828459045>
PI: 0x65c72125 <Number: 3.141592653589793>
LN2: 0x65c72101 <Number: 0.6931471805599453>
LN10: 0x65c71ff5 <Number: 2.302585092994046>
SQRT2: 0x65c7213d <Number: 1.414213562373095>
LOG2E: 0x65c7210d <Number: 1.442695040888963>
LOG10E: 0x65c72119 <Number: 0.4342944819032518>
SQRT1_2: 0x65c72131 <Number: 0.7071067811865476>
#8# 0x65c0c435: 0x65c0c435 <an Object>>
pcre_error: 0x65c72445 <String[31]: PCRE function %0, error
code %1>
not_defined: 0x65c72911 <String[17]: %0 is not defined>
stack_trace: 0x65c72781 <String[15]\: Stack Trace:\n%0>
cyclic_proto: 0x65c72229 <String[22]: Cyclic __proto__ value>
regexp_flags: 0x65c72481 <String[61]: Cannot supply flags when
constructing one RegExp from another>
illegal_eval: 0x65c72a1d <String[32]: Unsupported indirect eval
() call>
illegal_break: 0x65c72e75 <String[23]: Illegal break statement>
unknown_label: 0x65c726ad <String[20]: Undefined label '%0'>
redeclaration: 0x65c72639 <String[33]: %0 '%1' has already been
declared>
invalid_break: 0x65c726e1 <String[23]: Invalid break statement>
invalid_regexp: 0x65c72e51 <String[27]: Invalid RegExp pattern /%0/
>
expected_label: 0x65c72389 <String[14]: Expected label>
stack_overflow: 0x65c72d3d <String[32]: Maximum call stack size
exceeded>
null_to_object: 0x65c72c5d <String[29]: Cannot convert null to
object>
apply_overflow: 0x65c72d65 <String[52]: Function.prototype.apply
cannot support %0 arguments>
illegal_return: 0x65c72eb9 <String[24]: Illegal return statement>
unexpected_eos: 0x65c72351 <String[23]: Unexpected end of input>
with_expression: 0x65c72a5d <String[20]: %0 has no properties>
not_constructor: 0x65c728dd <String[23]: %0 is not a constructor>
unable_to_parse: 0x65c72da1 <String[11]: Parse error>
apply_wrong_args: 0x65c72b61 <String[55]: Function.prototype.apply:
Arguments list has wrong type>
unexpected_token: 0x65c72261 <String[19]: Unexpected token %0>
invalid_continue: 0x65c72719 <String[26]: Invalid continue
statement>
malformed_regexp: 0x65c723b9 <String[36]: Invalid regular
expression: /%0/: %1>
undefined_method: 0x65c727cd <String[28]: Object %1 has no method
'%0'>
illegal_continue: 0x65c72e95 <String[26]: Illegal continue
statement>
null_or_undefined: 0x65c72861 <String[43]: Cannot access property of
null or undefined>
no_input_to_regexp: 0x65c72f39 <String[14]: No input to %0>
uncaught_exception: 0x65c72759 <String[11]: Uncaught %0>
illegal_invocation: 0x65c72a95 <String[18]: Illegal invocation>
apply_non_function: 0x65c72b0d <String[75]: Function.prototype.apply
was called on %0, which is a %1 and not a function>
newline_after_throw: 0x65c72615 <String[27]: Illegal newline after
throw>
unterminated_regexp: 0x65c72401 <String[37]: Invalid regular
expression: missing />
called_non_callable: 0x65c72799 <String[20]: %0 is not a function>
no_catch_or_finally: 0x65c72681 <String[34]: Missing catch or finally
after try>
invalid_array_length: 0x65c72ca1 <String[20]: Invalid array length>
property_not_function: 0x65c72811 <String[44]: Property '%0' of object
%1 is not a function>
no_setter_in_callback: 0x65c72ad1 <String[52]: Cannot set property %0
of %1 which has only a getter>
invalid_lhs_in_for_in: 0x65c724f5 <String[32]: Invalid left-hand side
in for-in>
duplicate_regexp_flag: 0x65c72dd5 <String[24]: Duplicate RegExp flag
%0>
error_loading_debugger: 0x65c72ef9 <String[25]: Error loading debugger
%0>
unexpected_token_number: 0x65c7229d <String[17]: Unexpected number>
invalid_in_operator_use: 0x65c72ba1 <String[49]: Cannot use 'in'
operator to search for '%0' in %1>
unexpected_token_string: 0x65c722d9 <String[17]: Unexpected string>
invalid_lhs_in_prefix_op: 0x65c7255d <String[53]: Invalid left-hand
side expression in prefix operation>
unrecognized_regexp_flag: 0x65c72e15 <String[27]: Unrecognized RegExp
flag %0>
non_object_property_load: 0x65c7294d <String[31]: Cannot read property
'%0' of %1>
non_object_property_call: 0x65c729e1 <String[29]: Cannot call method
'%0' of %1>
invalid_lhs_in_assignment: 0x65c724c9 <String[36]: Invalid left-hand
side in assignment>
non_object_property_store: 0x65c72999 <String[30]: Cannot set property
'%0' of %1>
invalid_lhs_in_postfix_op: 0x65c7251d <String[54]: Invalid left-hand
side expression in postfix operation>
instanceof_nonobject_proto: 0x65c72c19 <String[58]: Function has non-
object prototype '%0' in instanceof check>
invalid_array_apply_length: 0x65c72ce1 <String[59]:
Function.prototype.apply supports only up to 1024 arguments>
cannot_convert_to_primitive: 0x65c72895 <String[40]: Cannot convert
object to primitive value>
multiple_defaults_in_switch: 0x65c725c1 <String[48]: More than one
default clause in switch statement>
unexpected_token_identifier: 0x65c72319 <String[21]: Unexpected
identifier>
instanceof_function_expected: 0x65c72bdd <String[52]: Expecting a
function in instanceof check, but got %0>
On Mar 31, 2:45 am, Søren Gjesse <[email protected]> wrote:
> Hi,
> Normally the profiling and logging is turned on when compiling V8 (default
> in both the SCons and Visual Studio builds). However to generate any log
> messages V8 requires some options. To use the built-in profiler pass option
> --prof to V8,
>
> $ ./shell --prof
>
> This produces the v8.log file which can be processed using
> tools/linux-tick-processor.py or tools/windows-tick-processor.py. For
> Windows a map file from the linker is required for this and can be produced
> by adding the prof=on option to the SCons build.
>
> Seehttp://code.google.com/p/v8/wiki/V8Profilerwhich also contains an
> example output from the tick processor.
>
> There are a number of other logging options which can be listed using
> ./shell --help. However it is only for the profiling part that some
> processing is currently available.
>
> Regards,
> Søren
>
> On Mon, Mar 30, 2009 at 19:56, MJ <[email protected]> wrote:
>
> > Hello,
>
> > Has anyone tried compiling V8 in debug with all the logging and
> > profiling turned on and used the heap statistics, profiling and GC
> > tracer? I am trying to figure out how to get to these pieces of the
> > heap, but since the heap is an internal class there is no access. Or
> > does it by default print all these metrics out in debug mode with the
> > flags turned on?
--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---