Revision: 8249
Author: [email protected]
Date: Fri Jun 10 00:09:14 2011
Log: MIPS: port Link function contexts directly to the previous
context.
Ported r8238 (7803ed7)
This commit would have also included changes to macro-assembler-mips.cc,
however Kevin M. did those changes in later commit r8248. (thx!)
BUG=
TEST=
Review URL: http://codereview.chromium.org//6995128
Patch from Paul Lind <[email protected]>.
http://code.google.com/p/v8/source/detail?r=8249
Modified:
/branches/bleeding_edge/src/mips/code-stubs-mips.cc
/branches/bleeding_edge/src/mips/full-codegen-mips.cc
/branches/bleeding_edge/src/objects-inl.h
=======================================
--- /branches/bleeding_edge/src/mips/code-stubs-mips.cc Thu Jun 9 06:26:18
2011
+++ /branches/bleeding_edge/src/mips/code-stubs-mips.cc Fri Jun 10 00:09:14
2011
@@ -158,7 +158,7 @@
__ lw(a3, MemOperand(sp, 0));
// Setup the object header.
- __ LoadRoot(a2, Heap::kContextMapRootIndex);
+ __ LoadRoot(a2, Heap::kFunctionContextMapRootIndex);
__ sw(a2, FieldMemOperand(v0, HeapObject::kMapOffset));
__ li(a2, Operand(Smi::FromInt(length)));
__ sw(a2, FieldMemOperand(v0, FixedArray::kLengthOffset));
@@ -187,7 +187,7 @@
// Need to collect. Call into runtime system.
__ bind(&gc);
- __ TailCallRuntime(Runtime::kNewContext, 1, 1);
+ __ TailCallRuntime(Runtime::kNewFunctionContext, 1, 1);
}
=======================================
--- /branches/bleeding_edge/src/mips/full-codegen-mips.cc Thu Jun 9
10:44:50 2011
+++ /branches/bleeding_edge/src/mips/full-codegen-mips.cc Fri Jun 10
00:09:14 2011
@@ -189,7 +189,7 @@
FastNewContextStub stub(heap_slots);
__ CallStub(&stub);
} else {
- __ CallRuntime(Runtime::kNewContext, 1);
+ __ CallRuntime(Runtime::kNewFunctionContext, 1);
}
function_in_register = false;
// Context is returned in both v0 and cp. It replaces the context
=======================================
--- /branches/bleeding_edge/src/objects-inl.h Thu Jun 9 08:19:37 2011
+++ /branches/bleeding_edge/src/objects-inl.h Fri Jun 10 00:09:14 2011
@@ -890,7 +890,7 @@
#else // V8_TARGET_ARCH_MIPS
// Prevent gcc from using load-double (mips ldc1) on (possibly)
// non-64-bit aligned HeapNumber::value.
- static inline double read_double_field(HeapNumber* p, int offset) {
+ static inline double read_double_field(void* p, int offset) {
union conversion {
double d;
uint32_t u[2];
@@ -909,7 +909,7 @@
#else // V8_TARGET_ARCH_MIPS
// Prevent gcc from using store-double (mips sdc1) on (possibly)
// non-64-bit aligned HeapNumber::value.
- static inline void write_double_field(HeapNumber* p, int offset,
+ static inline void write_double_field(void* p, int offset,
double value) {
union conversion {
double d;
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev