http://codereview.chromium.org/10263002/diff/1006/src/debug.cc File src/debug.cc (right):
http://codereview.chromium.org/10263002/diff/1006/src/debug.cc#newcode2234 src/debug.cc:2234: const int Debug::FramePaddingLayout::kPaddingValue = (kInitialSize + 1) * 2; On 2012/05/02 11:38:34, Yang wrote:
Use Smi::FromInt to get tagged smi values since x64 tags differently.
Done
Why does the value need to be larger than kInitialSize (smi-tagged)?
This is how liveedit part works. It reads from the frame base and first that it sees are padding words. It iterates until they end and this is counter. Therefore padding words mustn't look like any possible value of counter word. http://codereview.chromium.org/10263002/diff/1006/src/ia32/debug-ia32.cc File src/ia32/debug-ia32.cc (right): http://codereview.chromium.org/10263002/diff/1006/src/ia32/debug-ia32.cc#newcode112 src/ia32/debug-ia32.cc:112: __ push(Immediate(2 * Debug::FramePaddingLayout::kInitialSize)); On 2012/05/02 11:38:34, Yang wrote:
I assume multiplying by 2 is for Smi-tagging? Use Smi::FromInt(Debug::FramePaddingLayout::kInitialSize) instead.
Done. http://codereview.chromium.org/10263002/diff/1006/src/ia32/debug-ia32.cc#newcode176 src/ia32/debug-ia32.cc:176: __ lea(esp, Operand(esp, unused_reg, times_half_pointer_size, 0)); On 2012/05/02 11:38:34, Yang wrote:
This is based on the implication that Smis are represented by left
shift by 1
bit. Please add a STATIC_ASSERT(kSmiTagSize == 1) or a comment to
state this
implication.
Done. http://codereview.chromium.org/10263002/diff/1006/src/liveedit.cc File src/liveedit.cc (right): http://codereview.chromium.org/10263002/diff/1006/src/liveedit.cc#newcode1530 src/liveedit.cc:1530: if (Memory::int_at(padding_pointer) / 2 * kPointerSize < shortage_bytes) { On 2012/05/02 11:38:34, Yang wrote:
I suppose this is a Smi-untagging.
Use Smi::cast(Memory::Object_at())->value() instead would be cleaner,
especially
since x64 smi-tags differently.
Done. http://codereview.chromium.org/10263002/diff/1006/src/liveedit.cc#newcode1534 src/liveedit.cc:1534: Memory::int_at(padding_pointer) -= shortage_bytes / kPointerSize * 2; On 2012/05/02 11:38:34, Yang wrote:
Same here.
Done. http://codereview.chromium.org/10263002/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
