X87: Propagate Deopt reason to cpu-profiler

port 86cae1633c (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}
This commit is contained in:
cdai2 2015-02-11 23:36:48 +08:00
parent 4043c45f46
commit 4c345754b1

View File

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