Mercurial > hg > truffle
diff src/share/vm/code/stubs.cpp @ 6796:b31471cdc53e
7200163: add CodeComments functionality to assember stubs
Summary: Pass the codeBuffer to the Stub constructor, and adapts the disassembler to print the comments.
Reviewed-by: jrose, kvn, twisti
Contributed-by: goetz.lindenmaier@sap.com
author | kvn |
---|---|
date | Mon, 24 Sep 2012 10:30:14 -0700 |
parents | f95d63e2154a |
children | b9a9ed0f8eeb |
line wrap: on
line diff
--- a/src/share/vm/code/stubs.cpp Thu Sep 20 16:49:17 2012 +0200 +++ b/src/share/vm/code/stubs.cpp Mon Sep 24 10:30:14 2012 -0700 @@ -101,7 +101,8 @@ Stub* StubQueue::request_committed(int code_size) { Stub* s = request(code_size); - if (s != NULL) commit(code_size); + CodeComments comments; + if (s != NULL) commit(code_size, comments); return s; } @@ -118,7 +119,8 @@ assert(_buffer_limit == _buffer_size, "buffer must be fully usable"); if (_queue_end + requested_size <= _buffer_size) { // code fits in at the end => nothing to do - stub_initialize(s, requested_size); + CodeComments comments; + stub_initialize(s, requested_size, comments); return s; } else { // stub doesn't fit in at the queue end @@ -135,7 +137,8 @@ // Queue: |XXX|.......|XXXXXXX|.......| // ^0 ^end ^begin ^limit ^size s = current_stub(); - stub_initialize(s, requested_size); + CodeComments comments; + stub_initialize(s, requested_size, comments); return s; } // Not enough space left @@ -144,12 +147,12 @@ } -void StubQueue::commit(int committed_code_size) { +void StubQueue::commit(int committed_code_size, CodeComments& comments) { assert(committed_code_size > 0, "committed_code_size must be > 0"); int committed_size = round_to(stub_code_size_to_size(committed_code_size), CodeEntryAlignment); Stub* s = current_stub(); assert(committed_size <= stub_size(s), "committed size must not exceed requested size"); - stub_initialize(s, committed_size); + stub_initialize(s, committed_size, comments); _queue_end += committed_size; _number_of_stubs++; if (_mutex != NULL) _mutex->unlock();