On 2014/10/03 21:20:00, arv wrote:
https://codereview.chromium.org/631433002/diff/1/src/compiler/pipeline.cc
File src/compiler/pipeline.cc (right):


https://codereview.chromium.org/631433002/diff/1/src/compiler/pipeline.cc#newcode176
src/compiler/pipeline.cc:176: info()->function()->dont_optimize_reason() ==
kClassLiteral ||
Why isn't this sufficient?

https://codereview.chromium.org/631433002/diff/1/test/mjsunit/mjsunit.status
File test/mjsunit/mjsunit.status (right):


https://codereview.chromium.org/631433002/diff/1/test/mjsunit/mjsunit.status#newcode74
test/mjsunit/mjsunit.status:74: 'harmony/classes': [PASS, NO_VARIANTS],
I'm not sure why the change in pipeline.cc is not sufficient?

I applied the patch locally and what I see is:
#
# Fatal error in ../src/full-codegen.cc, line 460
# CHECK(bailout_entries_[i].id != id) failed
#

==== C stack trace ===============================

 1: V8_Fatal
 2:
v8::internal::FullCodeGenerator::PrepareForBailoutForId(v8::internal::BailoutId,
v8::internal::FullCodeGenerator::State)
 3:
v8::internal::FullCodeGenerator::PrepareForBailout(v8::internal::Expression*,
v8::internal::FullCodeGenerator::State)
4: v8::internal::FullCodeGenerator::VisitAssignment(v8::internal::Assignment*)
 5:
v8::internal::FullCodeGenerator::VisitExpressionStatement(v8::internal::ExpressionStatement*)
 6:
v8::internal::AstVisitor::VisitStatements(v8::internal::ZoneList<v8::internal::Statement*>*)
 7: v8::internal::FullCodeGenerator::Generate()
8: v8::internal::FullCodeGenerator::MakeCode(v8::internal::CompilationInfo*)
 9:
v8::internal::Compiler::EnsureDeoptimizationSupport(v8::internal::CompilationInfo*)
10: v8::internal::OptimizedCompileJob::CreateGraph()
11: ??
12:
v8::internal::Compiler::GetOptimizedCode(v8::internal::Handle<v8::internal::JSFunction>,
v8::internal::Handle<v8::internal::Code>,
v8::internal::Compiler::ConcurrencyMode, v8::internal::BailoutId)
13: v8::internal::Runtime_CompileOptimized(int, v8::internal::Object**,
v8::internal::Isolate*)
14: ??
15: ??
16: ??
17: ??
18: ??
19: ??
Command: /usr/local/google/home/dslomov/work/v8/out/ia32.optdebug/d8 --test
--random-seed=-2046048691 --stress-opt --always-opt --nohard-abort
--nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code
--verify-heap --harmony
/usr/local/google/home/dslomov/work/v8/test/mjsunit/mjsunit.js
/usr/local/google/home/dslomov/work/v8/test/mjsunit/harmony/classes.js

This has nothing to do with TurboFan - this means that you use bailout ids
twice. Not sure yet how this happened - I'll have investigate.


https://codereview.chromium.org/631433002/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to