Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: src/arm/lithium-codegen-arm.cc

Issue 10895011: InternalProperty in mirror-debugger.js and ARM experimental assert (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/mirror-debugger.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/arm/lithium-codegen-arm.cc
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
index 88169a4537240ca49a574a098149e10f8637b145..f7bcd44c53bf8aaa042df8967048c7b7c2d1c383 100644
--- a/src/arm/lithium-codegen-arm.cc
+++ b/src/arm/lithium-codegen-arm.cc
@@ -2475,6 +2475,39 @@ void LCodeGen::DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr,
Label before_push_delta;
__ bind(&before_push_delta);
__ BlockConstPoolFor(kAdditionalDelta);
+ if (delta * kPointerSize >= (1<<12)) {
+ // 12 is according to kLdrOffsetMask in MacroAssembler::GetRelocatedValueLocation.
+ // A value of delta may be as high as 20560 when optimizing xSerializeObject_ from mirror-debugger.js for mirror-object.js test.
+
+// 26 v8::internal::LCodeGen::DoDeferredInstanceOfKnownGlobal() /home/prybin/src-v8-6/src/arm/lithium-codegen-arm.cc:2481 0x0836ea63
+// 25 v8::internal::LCodeGen::DeferredInstanceOfKnownGlobal::Generate() /home/prybin/src-v8-6/src/arm/lithium-codegen-arm.cc:2378 0x0836e31b
+// 24 v8::internal::LCodeGen::GenerateDeferredCode() /home/prybin/src-v8-6/src/arm/lithium-codegen-arm.cc:252 0x08363dd3
+// 23 v8::internal::LCodeGen::GenerateCode() /home/prybin/src-v8-6/src/arm/lithium-codegen-arm.cc:82 0x083630de
+// 22 v8::internal::LChunk::Codegen() /home/prybin/src-v8-6/src/lithium.cc:426 0x081aba71
+// 21 v8::internal::OptimizingCompiler::GenerateAndInstallCode() /home/prybin/src-v8-6/src/compiler.cc:375 0x080aa5a4
+// 20 v8::internal::MakeCrankshaftCode() /home/prybin/src-v8-6/src/compiler.cc:213 0x080a994b
+// 19 v8::internal::GenerateCode() /home/prybin/src-v8-6/src/compiler.cc:388 0x080aa661
+// 18 v8::internal::MakeCode() /home/prybin/src-v8-6/src/compiler.cc:404 0x080aa6b9
+// 17 v8::internal::Compiler::CompileLazy() /home/prybin/src-v8-6/src/compiler.cc:803 0x080ad265
+// 16 v8::internal::CompileLazyHelper() /home/prybin/src-v8-6/src/objects.cc:7356 0x081f0cb4
+// 15 v8::internal::JSFunction::CompileOptimized() /home/prybin/src-v8-6/src/objects.cc:7459 0x081f1676
+// 14 v8::internal::Runtime_LazyRecompile() /home/prybin/src-v8-6/src/runtime.cc:8293 0x08274b0e
+// 13 v8::internal::Simulator::SoftwareInterrupt() /home/prybin/src-v8-6/src/arm/simulator-arm.cc:1844 0x0839e9a3
+// 12 v8::internal::Simulator::DecodeType7() /home/prybin/src-v8-6/src/arm/simulator-arm.cc:2670 0x083a0da1
+// 11 v8::internal::Simulator::InstructionDecode() /home/prybin/src-v8-6/src/arm/simulator-arm.cc:3235 0x083a278f
+// 10 v8::internal::Simulator::Execute() /home/prybin/src-v8-6/src/arm/simulator-arm.cc:3266 0x083a2880
+// 9 v8::internal::Simulator::Call() /home/prybin/src-v8-6/src/arm/simulator-arm.cc:3346 0x083a2c1f
+// 8 v8::internal::Invoke() /home/prybin/src-v8-6/src/execution.cc:118 0x080dce72
+// 7 v8::internal::Execution::Call() /home/prybin/src-v8-6/src/execution.cc:179 0x080dd388
+// 6 v8::Script::Run() /home/prybin/src-v8-6/src/api.cc:1612 0x080668ae
+// 5 v8::Shell::ExecuteString() /home/prybin/src-v8-6/src/d8.cc:166 0x0804ba03
+// 4 v8::SourceGroup::Execute() /home/prybin/src-v8-6/src/d8.cc:1550 0x08052b91
+// 3 v8::Shell::RunMain() /home/prybin/src-v8-6/src/d8.cc:1797 0x0805360a
+// 2 v8::Shell::Main() /home/prybin/src-v8-6/src/d8.cc:1851 0x0805387a
+// 1 main() /home/prybin/src-v8-6/src/d8.cc:1906 0x080539e6
+
+ FATAL("delta value is too large");
+ }
__ mov(temp, Operand(delta * kPointerSize));
__ StoreToSafepointRegisterSlot(temp, temp);
CallCodeGeneric(stub.GetCode(),
« no previous file with comments | « no previous file | src/mirror-debugger.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698