src/cpu/sparc/vm/frame_sparc.cpp

changeset 2868
2e038ad0c1d0
parent 2314
f95d63e2154a
child 2897
3cfb240033d1
     1.1 --- a/src/cpu/sparc/vm/frame_sparc.cpp	Mon May 02 10:51:36 2011 -0700
     1.2 +++ b/src/cpu/sparc/vm/frame_sparc.cpp	Mon May 02 18:53:37 2011 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -806,3 +806,34 @@
    1.11    int index = (Interpreter::expr_offset_in_bytes(offset)/wordSize) - 1;
    1.12    return &interpreter_frame_tos_address()[index];
    1.13  }
    1.14 +
    1.15 +
    1.16 +#ifdef ASSERT
    1.17 +
    1.18 +#define DESCRIBE_FP_OFFSET(name) \
    1.19 +  values.describe(-1, fp() + frame::name##_offset, #name)
    1.20 +
    1.21 +void frame::describe_pd(FrameValues& values, int frame_no) {
    1.22 +  for (int w = 0; w < frame::register_save_words; w++) {
    1.23 +    values.describe(frame_no, sp() + w, err_msg("register save area word %d", w), 1);
    1.24 +  }
    1.25 +
    1.26 +  if (is_interpreted_frame()) {
    1.27 +    DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp);
    1.28 +    DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp);
    1.29 +    DESCRIBE_FP_OFFSET(interpreter_frame_padding);
    1.30 +    DESCRIBE_FP_OFFSET(interpreter_frame_oop_temp);
    1.31 +  }
    1.32 +
    1.33 +  if (!is_compiled_frame()) {
    1.34 +    if (frame::callee_aggregate_return_pointer_words != 0) {
    1.35 +      values.describe(frame_no, sp() + frame::callee_aggregate_return_pointer_sp_offset, "callee_aggregate_return_pointer_word");
    1.36 +    }
    1.37 +    for (int w = 0; w < frame::callee_register_argument_save_area_words; w++) {
    1.38 +      values.describe(frame_no, sp() + frame::callee_register_argument_save_area_sp_offset + w,
    1.39 +                      err_msg("callee_register_argument_save_area_words %d", w));
    1.40 +    }
    1.41 +  }
    1.42 +}
    1.43 +
    1.44 +#endif

mercurial