comparison src/cpu/x86/vm/sharedRuntime_x86_32.cpp @ 14456:abec000618bf

Merge
author kvn
date Tue, 28 Jan 2014 12:25:34 -0800
parents de6a9e811145 1174c8abbdb6
children d8041d695d19 62c54fcc0a35
comparison
equal deleted inserted replaced
14269:2a8891e0a082 14456:abec000618bf
975 return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry); 975 return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
976 } 976 }
977 977
978 int SharedRuntime::c_calling_convention(const BasicType *sig_bt, 978 int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
979 VMRegPair *regs, 979 VMRegPair *regs,
980 VMRegPair *regs2,
980 int total_args_passed) { 981 int total_args_passed) {
982 assert(regs2 == NULL, "not needed on x86");
981 // We return the amount of VMRegImpl stack slots we need to reserve for all 983 // We return the amount of VMRegImpl stack slots we need to reserve for all
982 // the arguments NOT counting out_preserve_stack_slots. 984 // the arguments NOT counting out_preserve_stack_slots.
983 985
984 uint stack = 0; // All arguments on stack 986 uint stack = 0; // All arguments on stack
985 987
1622 } 1624 }
1623 1625
1624 // Now figure out where the args must be stored and how much stack space 1626 // Now figure out where the args must be stored and how much stack space
1625 // they require. 1627 // they require.
1626 int out_arg_slots; 1628 int out_arg_slots;
1627 out_arg_slots = c_calling_convention(out_sig_bt, out_regs, total_c_args); 1629 out_arg_slots = c_calling_convention(out_sig_bt, out_regs, NULL, total_c_args);
1628 1630
1629 // Compute framesize for the wrapper. We need to handlize all oops in 1631 // Compute framesize for the wrapper. We need to handlize all oops in
1630 // registers a max of 2 on x86. 1632 // registers a max of 2 on x86.
1631 1633
1632 // Calculate the total number of stack slots we will need. 1634 // Calculate the total number of stack slots we will need.
2493 2495
2494 // Now figure out where the args must be stored and how much stack space 2496 // Now figure out where the args must be stored and how much stack space
2495 // they require (neglecting out_preserve_stack_slots). 2497 // they require (neglecting out_preserve_stack_slots).
2496 2498
2497 int out_arg_slots; 2499 int out_arg_slots;
2498 out_arg_slots = c_calling_convention(out_sig_bt, out_regs, total_c_args); 2500 out_arg_slots = c_calling_convention(out_sig_bt, out_regs, NULL, total_c_args);
2499 2501
2500 // Calculate the total number of stack slots we will need. 2502 // Calculate the total number of stack slots we will need.
2501 2503
2502 // First count the abi requirement plus all of the outgoing args 2504 // First count the abi requirement plus all of the outgoing args
2503 int stack_slots = SharedRuntime::out_preserve_stack_slots() + out_arg_slots; 2505 int stack_slots = SharedRuntime::out_preserve_stack_slots() + out_arg_slots;