X87: Propagate Deopt reason to cpu-profiler
authorcdai2 <chunyang.dai@intel.com>
Wed, 11 Feb 2015 15:36:48 +0000 (23:36 +0800)
committercdai2 <chunyang.dai@intel.com>
Wed, 11 Feb 2015 15:37:33 +0000 (15:37 +0000)
port 86cae1633caa31f2225b6932850fb13d3a21cf59 (r26545)

original commit message:

  1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo
     because it also has raw position. Also the old name clashes with DeoptReason enum.

  2) c_entry_fp assignment call was added to EntryGenerator::Generate
     So we can calculate sp and have a chance to record the stack for the deopting function.
     btw it makes the test stable.

  3) new kind of CodeEvents was added to cpu-profiler

  4) GetDeoptInfo method was extracted from PrintDeoptLocation.
     So it could be reused in cpu profiler.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/912403003

Cr-Commit-Position: refs/heads/master@{#26588}

src/x87/deoptimizer-x87.cc

index 0e53a0e..262535e 100644 (file)
@@ -241,6 +241,9 @@ void Deoptimizer::EntryGenerator::Generate() {
 
   __ pushad();
 
+  ExternalReference c_entry_fp_address(Isolate::kCEntryFPAddress, isolate());
+  __ mov(Operand::StaticVariable(c_entry_fp_address), ebp);
+
   // GP registers are safe to use now.
   // Save used x87 fp registers in correct position of previous reserve space.
   Label loop, done;