Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/interp_masm_x86_32.cpp @ 3960:f08d439fab8c
7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
author | never |
---|---|
date | Sun, 25 Sep 2011 16:03:29 -0700 |
parents | fdb992d83a87 |
children | 1d7922586cf6 |
comparison
equal
deleted
inserted
replaced
3959:eda6988c0d81 | 3960:f08d439fab8c |
---|---|
43 # include "thread_solaris.inline.hpp" | 43 # include "thread_solaris.inline.hpp" |
44 #endif | 44 #endif |
45 #ifdef TARGET_OS_FAMILY_windows | 45 #ifdef TARGET_OS_FAMILY_windows |
46 # include "thread_windows.inline.hpp" | 46 # include "thread_windows.inline.hpp" |
47 #endif | 47 #endif |
48 #ifdef TARGET_OS_FAMILY_bsd | |
49 # include "thread_bsd.inline.hpp" | |
50 #endif | |
48 | 51 |
49 | 52 |
50 // Implementation of InterpreterMacroAssembler | 53 // Implementation of InterpreterMacroAssembler |
51 #ifdef CC_INTERP | 54 #ifdef CC_INTERP |
52 void InterpreterMacroAssembler::get_method(Register reg) { | 55 void InterpreterMacroAssembler::get_method(Register reg) { |
1156 | 1159 |
1157 // Fill in the receiver field and increment the count. | 1160 // Fill in the receiver field and increment the count. |
1158 int recvr_offset = in_bytes(VirtualCallData::receiver_offset(start_row)); | 1161 int recvr_offset = in_bytes(VirtualCallData::receiver_offset(start_row)); |
1159 set_mdp_data_at(mdp, recvr_offset, receiver); | 1162 set_mdp_data_at(mdp, recvr_offset, receiver); |
1160 int count_offset = in_bytes(VirtualCallData::receiver_count_offset(start_row)); | 1163 int count_offset = in_bytes(VirtualCallData::receiver_count_offset(start_row)); |
1161 movptr(reg2, (int32_t)DataLayout::counter_increment); | 1164 movptr(reg2, (intptr_t)DataLayout::counter_increment); |
1162 set_mdp_data_at(mdp, count_offset, reg2); | 1165 set_mdp_data_at(mdp, count_offset, reg2); |
1163 if (start_row > 0) { | 1166 if (start_row > 0) { |
1164 jmp(done); | 1167 jmp(done); |
1165 } | 1168 } |
1166 } | 1169 } |
1299 | 1302 |
1300 // If no method data exists, go to profile_continue. | 1303 // If no method data exists, go to profile_continue. |
1301 test_method_data_pointer(mdp, profile_continue); | 1304 test_method_data_pointer(mdp, profile_continue); |
1302 | 1305 |
1303 // Build the base (index * per_case_size_in_bytes()) + case_array_offset_in_bytes() | 1306 // Build the base (index * per_case_size_in_bytes()) + case_array_offset_in_bytes() |
1304 movptr(reg2, (int32_t)in_bytes(MultiBranchData::per_case_size())); | 1307 movptr(reg2, (intptr_t)in_bytes(MultiBranchData::per_case_size())); |
1305 // index is positive and so should have correct value if this code were | 1308 // index is positive and so should have correct value if this code were |
1306 // used on 64bits | 1309 // used on 64bits |
1307 imulptr(index, reg2); | 1310 imulptr(index, reg2); |
1308 addptr(index, in_bytes(MultiBranchData::case_array_offset())); | 1311 addptr(index, in_bytes(MultiBranchData::case_array_offset())); |
1309 | 1312 |