MIPS64: Fix simulator arguments handling on generated code entry.

Removed workaround for this issue.

TEST=mjsunit, cctest on sim64
BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/695933002

Cr-Commit-Position: refs/heads/master@{#25043}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 9845dfad
......@@ -782,11 +782,6 @@ static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm,
// a3: argc
// s0: argv, i.e. points to first arg
Label loop, entry;
// TODO(plind): At least on simulator, argc in a3 is an int32_t with junk
// in upper bits. Should fix the root cause, rather than use below
// workaround to clear upper bits.
__ dsll32(a3, a3, 0); // int32_t -> int64_t.
__ dsrl32(a3, a3, 0);
__ dsll(a4, a3, kPointerSizeLog2);
__ daddu(a6, s0, a4);
__ b(&entry);
......
......@@ -436,9 +436,12 @@ class Simulator {
// When running with the simulator transition into simulated execution at this
// point.
#define CALL_GENERATED_CODE(entry, p0, p1, p2, p3, p4) \
reinterpret_cast<Object*>(Simulator::current(Isolate::Current())->Call( \
FUNCTION_ADDR(entry), 5, p0, p1, p2, p3, p4))
#define CALL_GENERATED_CODE(entry, p0, p1, p2, p3, p4) \
reinterpret_cast<Object*>(Simulator::current(Isolate::Current())->Call( \
FUNCTION_ADDR(entry), 5, reinterpret_cast<int64_t*>(p0), \
reinterpret_cast<int64_t*>(p1), reinterpret_cast<int64_t*>(p2), \
reinterpret_cast<int64_t*>(p3), reinterpret_cast<int64_t*>(p4)))
#ifdef MIPS_ABI_N64
#define CALL_GENERATED_REGEXP_CODE(entry, p0, p1, p2, p3, p4, p5, p6, p7, p8) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment