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, &not_smi);
-    Abort(kOperandIsASmiAndNotAName);
-    Bind(&not_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.

Reply via email to