src/share/vm/asm/assembler.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/asm/assembler.hpp Fri Nov 12 05:56:40 2010
--- new/src/share/vm/asm/assembler.hpp Fri Nov 12 05:56:39 2010
*** 1,7 ****
--- 1,7 ----
/*
! * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 268,278 ****
--- 268,287 ----
void end_a_stub();
// Ditto for constants.
address start_a_const(int required_space, int required_align = sizeof(double));
void end_a_const();
- // fp constants support
+ address long_constant(jlong c) {
+ address ptr = start_a_const(sizeof(c), sizeof(c));
+ if (ptr != NULL) {
+ *(jlong*)ptr = c;
+ _code_pos = ptr + sizeof(c);
+ end_a_const();
+ }
+ return ptr;
+ }
address double_constant(jdouble c) {
address ptr = start_a_const(sizeof(c), sizeof(c));
if (ptr != NULL) {
*(jdouble*)ptr = c;
_code_pos = ptr + sizeof(c);
*** 287,308 ****
--- 296,324 ----
_code_pos = ptr + sizeof(c);
end_a_const();
}
return ptr;
}
+ address address_constant(address c) {
+ address ptr = start_a_const(sizeof(c), sizeof(c));
+ if (ptr != NULL) {
+ *(address*)ptr = c;
+ _code_pos = ptr + sizeof(c);
+ end_a_const();
+ }
+ return ptr;
+ }
address address_constant(address c, RelocationHolder const& rspec) {
address ptr = start_a_const(sizeof(c), sizeof(c));
if (ptr != NULL) {
relocate(rspec);
*(address*)ptr = c;
_code_pos = ptr + sizeof(c);
end_a_const();
}
return ptr;
}
inline address address_constant(Label& L);
inline address address_table_constant(GrowableArray<Label*> label);
// Bootstrapping aid to cope with delayed determination of constants.
// Returns a static address which will eventually contain the constant.
// The value zero (NULL) stands instead of a constant which is still uncomputed.
// Thus, the eventual value of the constant must not be zero.
src/share/vm/asm/assembler.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File