Revision: 23276
Author: [email protected]
Date: Thu Aug 21 12:59:18 2014 UTC
Log: Add missing ConstantPoolUnavailableScopes on JS return.
[email protected]
Review URL: https://codereview.chromium.org/494733002
http://code.google.com/p/v8/source/detail?r=23276
Modified:
/branches/bleeding_edge/src/arm/full-codegen-arm.cc
/branches/bleeding_edge/src/arm/lithium-codegen-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/full-codegen-arm.cc Mon Aug 18 07:54:19
2014 UTC
+++ /branches/bleeding_edge/src/arm/full-codegen-arm.cc Thu Aug 21 12:59:18
2014 UTC
@@ -448,9 +448,11 @@
PredictableCodeSizeScope predictable(masm_, -1);
__ RecordJSReturn();
int no_frame_start = __ LeaveFrame(StackFrame::JAVA_SCRIPT);
- __ add(sp, sp, Operand(sp_delta));
- __ Jump(lr);
- info_->AddNoFrameRange(no_frame_start, masm_->pc_offset());
+ { ConstantPoolUnavailableScope constant_pool_unavailable(masm_);
+ __ add(sp, sp, Operand(sp_delta));
+ __ Jump(lr);
+ info_->AddNoFrameRange(no_frame_start, masm_->pc_offset());
+ }
}
#ifdef DEBUG
=======================================
--- /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Mon Aug 18
07:54:19 2014 UTC
+++ /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Thu Aug 21
12:59:18 2014 UTC
@@ -2956,23 +2956,25 @@
if (NeedsEagerFrame()) {
no_frame_start = masm_->LeaveFrame(StackFrame::JAVA_SCRIPT);
}
- if (instr->has_constant_parameter_count()) {
- int parameter_count = ToInteger32(instr->constant_parameter_count());
- int32_t sp_delta = (parameter_count + 1) * kPointerSize;
- if (sp_delta != 0) {
- __ add(sp, sp, Operand(sp_delta));
+ { ConstantPoolUnavailableScope constant_pool_unavailable(masm());
+ if (instr->has_constant_parameter_count()) {
+ int parameter_count = ToInteger32(instr->constant_parameter_count());
+ int32_t sp_delta = (parameter_count + 1) * kPointerSize;
+ if (sp_delta != 0) {
+ __ add(sp, sp, Operand(sp_delta));
+ }
+ } else {
+ Register reg = ToRegister(instr->parameter_count());
+ // The argument count parameter is a smi
+ __ SmiUntag(reg);
+ __ add(sp, sp, Operand(reg, LSL, kPointerSizeLog2));
}
- } else {
- Register reg = ToRegister(instr->parameter_count());
- // The argument count parameter is a smi
- __ SmiUntag(reg);
- __ add(sp, sp, Operand(reg, LSL, kPointerSizeLog2));
- }
- __ Jump(lr);
+ __ Jump(lr);
- if (no_frame_start != -1) {
- info_->AddNoFrameRange(no_frame_start, masm_->pc_offset());
+ if (no_frame_start != -1) {
+ info_->AddNoFrameRange(no_frame_start, masm_->pc_offset());
+ }
}
}
--
--
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.