Reviewers: Weiliang,
Message:
PTAL
Description:
X87: Cleanup: Remove unncessary leave_frame parameter from stub cache.
port fe432e1ace48c345c659c0bcb6a84798bca0b15e (r30250).
original commit message:
BUG=
Please review this at https://codereview.chromium.org/1303973004/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+14, -19 lines):
M src/ic/x87/ic-x87.cc
M src/ic/x87/stub-cache-x87.cc
M src/x87/code-stubs-x87.cc
Index: src/ic/x87/ic-x87.cc
diff --git a/src/ic/x87/ic-x87.cc b/src/ic/x87/ic-x87.cc
index
3a83e53f341a028df99b1b31be56a2714603c5e4..f9a94bc5b8ca78137508f51296e984fef1512406
100644
--- a/src/ic/x87/ic-x87.cc
+++ b/src/ic/x87/ic-x87.cc
@@ -348,7 +348,7 @@ void KeyedLoadIC::GenerateMegamorphic(MacroAssembler*
masm,
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
Code::ComputeHandlerFlags(Code::LOAD_IC));
masm->isolate()->stub_cache()->GenerateProbe(masm, Code::KEYED_LOAD_IC,
flags,
- false, receiver, key, ebx,
edi);
+ receiver, key, ebx, edi);
__ pop(LoadWithVectorDescriptor::VectorRegister());
__ pop(LoadDescriptor::SlotRegister());
@@ -576,8 +576,8 @@ void KeyedStoreIC::GenerateMegamorphic(MacroAssembler*
masm,
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
Code::ComputeHandlerFlags(Code::STORE_IC));
- masm->isolate()->stub_cache()->GenerateProbe(
- masm, Code::STORE_IC, flags, false, receiver, key, ebx, no_reg);
+ masm->isolate()->stub_cache()->GenerateProbe(masm, Code::STORE_IC, flags,
+ receiver, key, ebx, no_reg);
if (FLAG_vector_stores) {
__ pop(VectorStoreICDescriptor::VectorRegister());
@@ -738,7 +738,7 @@ void StoreIC::GenerateMegamorphic(MacroAssembler* masm)
{
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
Code::ComputeHandlerFlags(Code::STORE_IC));
masm->isolate()->stub_cache()->GenerateProbe(
- masm, Code::STORE_IC, flags, false,
StoreDescriptor::ReceiverRegister(),
+ masm, Code::STORE_IC, flags, StoreDescriptor::ReceiverRegister(),
StoreDescriptor::NameRegister(), ebx, no_reg);
// Cache miss: Jump to runtime.
Index: src/ic/x87/stub-cache-x87.cc
diff --git a/src/ic/x87/stub-cache-x87.cc b/src/ic/x87/stub-cache-x87.cc
index
0d16d84322d04b281d553dfc2d92deb4d493c8d0..d76d0a26b74655ea92183cfd0d931c41ef031842
100644
--- a/src/ic/x87/stub-cache-x87.cc
+++ b/src/ic/x87/stub-cache-x87.cc
@@ -16,7 +16,7 @@ namespace internal {
static void ProbeTable(Isolate* isolate, MacroAssembler* masm,
- Code::Kind ic_kind, Code::Flags flags, bool
leave_frame,
+ Code::Kind ic_kind, Code::Flags flags,
StubCache::Table table, Register name, Register
receiver,
// Number of the cache entry pointer-size scaled.
Register offset, Register extra) {
@@ -63,8 +63,6 @@ static void ProbeTable(Isolate* isolate, MacroAssembler*
masm,
__ pop(LoadDescriptor::SlotRegister());
}
- if (leave_frame) __ leave();
-
// Jump to the first instruction in the code stub.
__ add(extra, Immediate(Code::kHeaderSize - kHeapObjectTag));
__ jmp(extra);
@@ -118,8 +116,6 @@ static void ProbeTable(Isolate* isolate,
MacroAssembler* masm,
__ pop(slot);
}
- if (leave_frame) __ leave();
-
// Jump to the first instruction in the code stub.
__ add(offset, Immediate(Code::kHeaderSize - kHeapObjectTag));
__ jmp(offset);
@@ -132,10 +128,9 @@ static void ProbeTable(Isolate* isolate,
MacroAssembler* masm,
void StubCache::GenerateProbe(MacroAssembler* masm, Code::Kind ic_kind,
- Code::Flags flags, bool leave_frame,
- Register receiver, Register name,
- Register scratch, Register extra, Register
extra2,
- Register extra3) {
+ Code::Flags flags, Register receiver,
+ Register name, Register scratch, Register
extra,
+ Register extra2, Register extra3) {
Label miss;
// Assert that code is valid. The multiplying code relies on the entry
size
@@ -178,8 +173,8 @@ void StubCache::GenerateProbe(MacroAssembler* masm,
Code::Kind ic_kind,
DCHECK(kCacheIndexShift == kPointerSizeLog2);
// Probe the primary table.
- ProbeTable(isolate(), masm, ic_kind, flags, leave_frame, kPrimary, name,
- receiver, offset, extra);
+ ProbeTable(isolate(), masm, ic_kind, flags, kPrimary, name, receiver,
offset,
+ extra);
// Primary miss: Compute hash for secondary probe.
__ mov(offset, FieldOperand(name, Name::kHashFieldOffset));
@@ -191,8 +186,8 @@ void StubCache::GenerateProbe(MacroAssembler* masm,
Code::Kind ic_kind,
__ and_(offset, (kSecondaryTableSize - 1) << kCacheIndexShift);
// Probe the secondary table.
- ProbeTable(isolate(), masm, ic_kind, flags, leave_frame, kSecondary,
name,
- receiver, offset, extra);
+ ProbeTable(isolate(), masm, ic_kind, flags, kSecondary, name, receiver,
+ offset, extra);
// Cache miss: Fall-through and let caller handle the miss by
// entering the runtime system.
Index: src/x87/code-stubs-x87.cc
diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc
index
fa311ebcd4ee2cfef1b7b2fd88faa28661ff3b21..bba43276fa4b29480cad98a89db6b080426144ea
100644
--- a/src/x87/code-stubs-x87.cc
+++ b/src/x87/code-stubs-x87.cc
@@ -4289,8 +4289,8 @@ void LoadICStub::GenerateImpl(MacroAssembler* masm,
bool in_frame) {
__ push(vector);
Code::Flags code_flags = Code::RemoveTypeAndHolderFromFlags(
Code::ComputeHandlerFlags(Code::LOAD_IC));
- masm->isolate()->stub_cache()->GenerateProbe(
- masm, Code::LOAD_IC, code_flags, false, receiver, name, vector,
scratch);
+ masm->isolate()->stub_cache()->GenerateProbe(masm, Code::LOAD_IC,
code_flags,
+ receiver, name, vector,
scratch);
__ pop(vector);
__ pop(slot);
--
--
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.