diff options
author | Ryan <ry@tinyclouds.org> | 2009-08-25 13:47:18 +0200 |
---|---|---|
committer | Ryan <ry@tinyclouds.org> | 2009-08-25 13:47:18 +0200 |
commit | b5b65ddcd776e59d35200105ed3420c04d07cae9 (patch) | |
tree | 1c0863fe9f268d1910e2ced36be96514d945139d /deps/v8/src/arm/builtins-arm.cc | |
parent | b0a362a72734deb286830e26a3eb20e20234f3e9 (diff) | |
download | node-new-b5b65ddcd776e59d35200105ed3420c04d07cae9.tar.gz |
Upgrade v8 to 1.3.7
Diffstat (limited to 'deps/v8/src/arm/builtins-arm.cc')
-rw-r--r-- | deps/v8/src/arm/builtins-arm.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/deps/v8/src/arm/builtins-arm.cc b/deps/v8/src/arm/builtins-arm.cc index 28524c80ad..5745a06e8d 100644 --- a/deps/v8/src/arm/builtins-arm.cc +++ b/deps/v8/src/arm/builtins-arm.cc @@ -214,9 +214,13 @@ static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm, // Enter an internal frame. __ EnterInternalFrame(); - // Setup the context from the function argument. + // Set up the context from the function argument. __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); + // Set up the roots register. + ExternalReference roots_address = ExternalReference::roots_address(); + __ mov(r10, Operand(roots_address)); + // Push the function and the receiver onto the stack. __ push(r1); __ push(r2); @@ -239,7 +243,7 @@ static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm, // Initialize all JavaScript callee-saved registers, since they will be seen // by the garbage collector as part of handlers. - __ mov(r4, Operand(Factory::undefined_value())); + __ LoadRoot(r4, Heap::kUndefinedValueRootIndex); __ mov(r5, Operand(r4)); __ mov(r6, Operand(r4)); __ mov(r7, Operand(r4)); @@ -282,7 +286,7 @@ void Builtins::Generate_FunctionCall(MacroAssembler* masm) { { Label done; __ tst(r0, Operand(r0)); __ b(ne, &done); - __ mov(r2, Operand(Factory::undefined_value())); + __ LoadRoot(r2, Heap::kUndefinedValueRootIndex); __ push(r2); __ add(r0, r0, Operand(1)); __ bind(&done); @@ -323,10 +327,10 @@ void Builtins::Generate_FunctionCall(MacroAssembler* masm) { __ tst(r2, Operand(kSmiTagMask)); __ b(eq, &call_to_object); - __ mov(r3, Operand(Factory::null_value())); + __ LoadRoot(r3, Heap::kNullValueRootIndex); __ cmp(r2, r3); __ b(eq, &use_global_receiver); - __ mov(r3, Operand(Factory::undefined_value())); + __ LoadRoot(r3, Heap::kUndefinedValueRootIndex); __ cmp(r2, r3); __ b(eq, &use_global_receiver); @@ -492,10 +496,10 @@ void Builtins::Generate_FunctionApply(MacroAssembler* masm) { __ ldr(r0, MemOperand(fp, kRecvOffset)); __ tst(r0, Operand(kSmiTagMask)); __ b(eq, &call_to_object); - __ mov(r1, Operand(Factory::null_value())); + __ LoadRoot(r1, Heap::kNullValueRootIndex); __ cmp(r0, r1); __ b(eq, &use_global_receiver); - __ mov(r1, Operand(Factory::undefined_value())); + __ LoadRoot(r1, Heap::kUndefinedValueRootIndex); __ cmp(r0, r1); __ b(eq, &use_global_receiver); @@ -665,7 +669,7 @@ void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { // r1: function // r2: expected number of arguments // r3: code entry to call - __ mov(ip, Operand(Factory::undefined_value())); + __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ sub(r2, fp, Operand(r2, LSL, kPointerSizeLog2)); __ sub(r2, r2, Operand(4 * kPointerSize)); // Adjust for frame. |