A newer version of V8 seems to crash my compiler. Using GCC 3.3.3

in src/codegen-ia32.cc line 4383:

Old V8 code:
<   // Seed the result with the formal parameters count, which will be
<   // used in case no arguments adaptor frame is found below the
<   // current frame.
<   __ Set(eax, Immediate(Smi::FromInt(scope_->num_parameters())));
<
New V8 code.....this code crashes the compiler.
---
>   // ArgumentsAccessStub takes the parameter count as an input argument
>   // in register eax.  Create a constant result for it.
>   Result count(Handle<Smi>(Smi::FromInt(scope_->num_parameters())), this);



On Mar 31, 12:41 pm, Kasper Lund <[email protected]> wrote:
> On Tue, Mar 31, 2009 at 7:30 PM, MJ <[email protected]> wrote:
> > Yes, I am using --trace_calls. So that trace is not an error then?
> > Cause all the other trace calls never look like that and only when I
> > try to perform that operation do I get a trace like that.
>
> I just tried using V8 version 1.1.2 and the output does look different
> from what you're reporting (see below). Maybe I could convince you to
> try to update your version of V8 and try again?
>
> ==== Stack trace ============================================
>
> Security context: 0x400036d <JS Object>#0#
>     1: /* anonymous */(this=0x40003a1 <JS Global Object>#1#)
>
> ==== Details ================================================
>
> [1]: /* anonymous */(this=0x40003a1 <JS Global Object>#1#) {
>   // stack-allocated locals
>   var .result = 0x4004135 <undefined>
> --------- s o u r c e   c o d e ---------
> var a = 5?var b = "A String" + a?
> -----------------------------------------
>
> }
>
> ==== Key         ============================================
>
>  #0# 0x400036d: 0x400036d <JS Object>
>                  a: 0x4004135 <undefined>
>                  b: 0x4004135 <undefined>
>                NaN: 0x4004889 <Number: nan>
>               Math: 0x3c13db5 <a MathConstructor>>#2#
>           Infinity: 0x4005ef9 <Number: inf>
>          undefined: 0x4004135 <undefined>
>  #1# 0x40003a1: 0x40003a1 <JS Global Object>
>  #2# 0x3c13db5: 0x3c13db5 <a MathConstructor>>
>                  E: 0x1c061cd <Number: 2.718281828459045>
>                 PI: 0x1c06209 <Number: 3.141592653589793>
>                LN2: 0x1c061e5 <Number: 0.6931471805599453>
>               LN10: 0x1c061d9 <Number: 2.302585092994046>
>              SQRT2: 0x1c06221 <Number: 1.414213562373095>
>              LOG2E: 0x1c061f1 <Number: 1.442695040888963>
>             LOG10E: 0x1c061fd <Number: 0.4342944819032518>
>            SQRT1_2: 0x1c06215 <Number: 0.7071067811865476>
> =====================
>
> > On Mar 31, 12:24 pm, Kasper Lund <[email protected]> wrote:
> >> This looks like (only) a part of a stack trace and in itself there's
> >> nothing wrong with the output. The numbered objects (#xx#) are printed
> >> to make it easier to figure out which variables point to the same
> >> object from local variables in the stack trace. Are you running with
> >> --trace-calls or some other non-standard flag? The --trace-calls
> >> option gives you a stack trace at every function call (just after the
> >> called function has been entered), which may look something like what
> >> you're describing.
>
> >> Cheers,
> >> Kasper
>
> >> On Tue, Mar 31, 2009 at 7:16 PM, MJ <[email protected]> wrote:
>
> >> > Version 1.0.1 is the version and the trace error is below. I have
> >> > tracked it down to the string concatenation of any var that is not a
> >> > string. Although if you convert the non-string to a string var the
> >> > error still happens.
>
> >> > #6# 0x65c0cebd: 0x65c0cebd <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>
> >> >  #7# 0x65c0ce0d: 0x65c0ce0d <JS array[16]>
> >> >                 0: 0x65c6e685 <String[1]: 0>
> >> >                 1: 0x65c719a5 <String[1]: 1>
> >> >                 2: 0x65c719b1 <String[1]: 2>
> >> >                 3: 0x65c719bd <String[1]: 3>
> >> >                 4: 0x65c719c9 <String[1]: 4>
> >> >                 5: 0x65c719d5 <String[1]: 5>
> >> >                 6: 0x65c719e1 <String[1]: 6>
> >> >                 7: 0x65c719ed <String[1]: 7>
> >> >                 8: 0x65c719f9 <String[1]: 8>
> >> >                 9: 0x65c71a05 <String[1]: 9>
> >> >                  ...
> >> >  #8# 0x65c0ce81: 0x65c0ce81 <an Object>>
> >> >                 e: 0x65c6e161 <true>
> >> >                 a: 0x65c6e161 <tr>
> >> >                 u: 0x65c6e161 <true
> >> >                 o: 0x65c6e161 <true>
> >> >                 y: 0x65c6e161 <true>
> >> >                 i: 0x65c6e161 <true>
> >> >  #9# 0x65c0c709: 0x65c0c709 <an Object>>
> >> >  #10# 0x65c0ce2d: 0x65c0ce2d <JS array[0]>
> >> >  #11# 0x65c0ce1d: 0x65c0ce1d <JS array[16]>
> >> >                 0: 48
> >> >                 1: 49
> >> >                 2: 50
> >> >                 3: 51
> >> >                 4: 52
> >> >                 5: 53
> >> >                 6: 54
> >> >                 7: 55
> >> >                 8: 56
> >> >                 9: 57
> >> >                  ...
> >> >  #12# 0x65c0ce3d: 0x65c0ce3d <an Object>>
> >> >                 r: 0x65c6e161 <true>
> >> >                 x: 0x65c6e161 <true>
> >> >                 h: 0x65c6e161 <true>
> >> >                 f: 0x65c6e161 <true>
> >> >                 l: 0x65c6e161 <true>
> >> >                
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to