Reviewers: jochen, ulan,
Message:
Committed patchset #1 manually as r19809 (presubmit successful).
Description:
A64: Tidy up a couple of TODOs.
[email protected]
Committed: https://code.google.com/p/v8/source/detail?r=19809
Please review this at https://codereview.chromium.org/189883006/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+4, -24 lines):
M src/a64/code-stubs-a64.cc
M src/a64/ic-a64.cc
M src/a64/macro-assembler-a64.cc
Index: src/a64/code-stubs-a64.cc
diff --git a/src/a64/code-stubs-a64.cc b/src/a64/code-stubs-a64.cc
index
a3aad78f75fc0ba05d67febeb19f69905b43c75c..fad3e589d3f65b2c1637819e6129c1b14e1ad08a
100644
--- a/src/a64/code-stubs-a64.cc
+++ b/src/a64/code-stubs-a64.cc
@@ -4937,8 +4937,7 @@ void
StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
- // TODO(jbramley): The ARM code leaves the (shifted) offset in r1. Why?
- CEntryStub ces(1, kSaveFPRegs);
+ CEntryStub ces(1, fp_registers_ ? kSaveFPRegs : kDontSaveFPRegs);
__ Call(ces.GetCode(masm->isolate()), RelocInfo::CODE_TARGET);
int parameter_count_offset =
StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset;
Index: src/a64/ic-a64.cc
diff --git a/src/a64/ic-a64.cc b/src/a64/ic-a64.cc
index
93d7857b050527004e4a672dac1392421796397b..e5d722639ec39c9cb58e2ec36e92a7f401c3501f
100644
--- a/src/a64/ic-a64.cc
+++ b/src/a64/ic-a64.cc
@@ -474,12 +474,8 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) {
__ IncrementCounter(isolate->counters()->load_miss(), 1, x3, x4);
- // TODO(jbramley): Does the target actually expect an argument in x3, or
is
- // this inherited from ARM's push semantics?
- __ Mov(x3, x0);
- __ Push(x3, x2);
-
// Perform tail call to the entry.
+ __ Push(x0, x2);
ExternalReference ref =
ExternalReference(IC_Utility(kLoadIC_Miss), isolate);
__ TailCallExternalReference(ref, 2, 1);
@@ -493,11 +489,7 @@ void
LoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
// -- x0 : receiver
// -----------------------------------
- // TODO(jbramley): Does the target actually expect an argument in x3, or
is
- // this inherited from ARM's push semantics?
- __ Mov(x3, x0);
- __ Push(x3, x2);
-
+ __ Push(x0, x2);
__ TailCallRuntime(Runtime::kGetProperty, 2, 1);
}
@@ -985,8 +977,6 @@ static void KeyedStoreGenerateGenericHelper(
// We have to go to the runtime if the current value is the hole because
there
// may be a callback on the element.
Label holecheck_passed;
- // TODO(all): This address calculation is repeated later (for the store
- // itself). We should keep the result to avoid doing the work twice.
__ Add(x10, elements, FixedArray::kHeaderSize - kHeapObjectTag);
__ Add(x10, x10, Operand::UntagSmiAndScale(key, kPointerSizeLog2));
__ Ldr(x11, MemOperand(x10));
@@ -1039,8 +1029,6 @@ static void KeyedStoreGenerateGenericHelper(
// HOLECHECK: guards "A[i] double hole?"
// We have to see if the double version of the hole is present. If so go
to
// the runtime.
- // TODO(all): This address calculation was done earlier. We should keep
the
- // result to avoid doing the work twice.
__ Add(x10, elements, FixedDoubleArray::kHeaderSize - kHeapObjectTag);
__ Add(x10, x10, Operand::UntagSmiAndScale(key, kPointerSizeLog2));
__ Ldr(x11, MemOperand(x10));
Index: src/a64/macro-assembler-a64.cc
diff --git a/src/a64/macro-assembler-a64.cc b/src/a64/macro-assembler-a64.cc
index
53c7777ae137b62b162ee3a80050f81891f28f9a..5160bea8e0d244f427e6aaabc32e13633f4fe624
100644
--- a/src/a64/macro-assembler-a64.cc
+++ b/src/a64/macro-assembler-a64.cc
@@ -1497,12 +1497,7 @@ void MacroAssembler::AssertNotSmi(Register object,
BailoutReason reason) {
void MacroAssembler::AssertName(Register object) {
if (emit_debug_code()) {
- STATIC_ASSERT(kSmiTag == 0);
- // TODO(jbramley): Add AbortIfSmi and related functions.
- Label not_smi;
- JumpIfNotSmi(object, ¬_smi);
- Abort(kOperandIsASmiAndNotAName);
- Bind(¬_smi);
+ AssertNotSmi(object, kOperandIsASmiAndNotAName);
Ldr(Tmp1(), FieldMemOperand(object, HeapObject::kMapOffset));
CompareInstanceType(Tmp1(), Tmp1(), LAST_NAME_TYPE);
@@ -2808,8 +2803,6 @@ void MacroAssembler::TruncateHeapNumberToI(Register
result,
void MacroAssembler::Prologue(PrologueFrameMode frame_mode) {
if (frame_mode == BUILD_STUB_FRAME) {
ASSERT(StackPointer().Is(jssp));
- // TODO(jbramley): Does x1 contain a JSFunction here, or does it
already
- // have the special STUB smi?
__ Mov(Tmp0(), Operand(Smi::FromInt(StackFrame::STUB)));
// Compiled stubs don't age, and so they don't need the predictable
code
// ageing sequence.
--
--
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.