2009/3/31 MJ <[email protected]>: > > 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);
That's a very old gcc. Is it possible for you to upgrade? > > > > 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 » > > > -- 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-users mailing list [email protected] http://groups.google.com/group/v8-users -~----------~----~----~----~------~----~------~--~---
