Commit 4e3fc717 authored by ricow@chromium.org's avatar ricow@chromium.org

Create const ints for int8_t and int32_t in jmp assembler (making win64 build happy)

Review URL: http://codereview.chromium.org/1637009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 934db0b2
......@@ -1139,22 +1139,24 @@ void Assembler::jmp(Label* L) {
EnsureSpace ensure_space(this);
last_pc_ = pc_;
if (L->is_bound()) {
const int short_size = sizeof(int8_t);
const int long_size = sizeof(int32_t);
int offs = L->pos() - pc_offset() - 1;
ASSERT(offs <= 0);
if (is_int8(offs - sizeof(int8_t))) {
if (is_int8(offs - short_size)) {
// 1110 1011 #8-bit disp.
emit(0xEB);
emit((offs - sizeof(int8_t)) & 0xFF);
emit((offs - short_size) & 0xFF);
} else {
// 1110 1001 #32-bit disp.
emit(0xE9);
emitl(offs - sizeof(int32_t));
emitl(offs - long_size);
}
} else if (L->is_linked()) {
// 1110 1001 #32-bit disp.
emit(0xE9);
emitl(L->pos());
L->link_to(pc_offset() - sizeof(int32_t));
L->link_to(pc_offset() - long_size);
} else {
// 1110 1001 #32-bit disp.
ASSERT(L->is_unused());
......
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