Commit b9a7b0bd authored by Jacob.Bramley@arm.com's avatar Jacob.Bramley@arm.com

ARM64: Access has_pending_message_ correctly.

This fixes accesses in ARM and ARM64; the field is a bool, with size 1,
but we were accessing it with pointer-sized loads and stores.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 4e93dfc9
......@@ -4767,7 +4767,8 @@ void FullCodeGenerator::EnterFinallyBlock() {
ExternalReference has_pending_message =
ExternalReference::address_of_has_pending_message(isolate());
__ mov(ip, Operand(has_pending_message));
__ ldr(r1, MemOperand(ip));
STATIC_ASSERT(sizeof(bool) == 1); // NOLINT(runtime/sizeof)
__ ldrb(r1, MemOperand(ip));
__ SmiTag(r1);
__ push(r1);
......@@ -4793,7 +4794,8 @@ void FullCodeGenerator::ExitFinallyBlock() {
ExternalReference has_pending_message =
ExternalReference::address_of_has_pending_message(isolate());
__ mov(ip, Operand(has_pending_message));
__ str(r1, MemOperand(ip));
STATIC_ASSERT(sizeof(bool) == 1); // NOLINT(runtime/sizeof)
__ strb(r1, MemOperand(ip));
__ pop(r1);
ExternalReference pending_message_obj =
......
......@@ -4821,8 +4821,9 @@ void FullCodeGenerator::EnterFinallyBlock() {
ExternalReference has_pending_message =
ExternalReference::address_of_has_pending_message(isolate());
STATIC_ASSERT(sizeof(bool) == 1); // NOLINT(runtime/sizeof)
__ Mov(x11, has_pending_message);
__ Ldr(x11, MemOperand(x11));
__ Ldrb(x11, MemOperand(x11));
__ SmiTag(x11);
__ Push(x10, x11);
......@@ -4850,7 +4851,8 @@ void FullCodeGenerator::ExitFinallyBlock() {
ExternalReference has_pending_message =
ExternalReference::address_of_has_pending_message(isolate());
__ Mov(x13, has_pending_message);
__ Str(x11, MemOperand(x13));
STATIC_ASSERT(sizeof(bool) == 1); // NOLINT(runtime/sizeof)
__ Strb(x11, MemOperand(x13));
ExternalReference pending_message_obj =
ExternalReference::address_of_pending_message_obj(isolate());
......
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