Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Issue 581703003: VM: Use current isolate as immediate in per-isolate stubs. (Closed)

Created:
6 years, 3 months ago by Florian Schneider
Modified:
6 years, 3 months ago
Reviewers:
srdjan, Ivan Posva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

VM: Use current isolate as immediate operand in per-isolate stub code. There is no need to load it from the context, if the stub is per-isolate. This makes those stubs not rely on having a context in CTX, and avoids loading the isolate pointer from memory. This CL is part of the effort to free up CTX for general allocation. Stubs that don't depend on a context in CTX won't require storing the current context before calling them. R=srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=40428

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : fixed arm64 bug #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+79 lines, -85 lines) Patch
M runtime/vm/isolate.h View 1 1 chunk +4 lines, -0 lines 1 comment Download
M runtime/vm/stub_code_arm.cc View 1 2 7 chunks +12 lines, -12 lines 1 comment Download
M runtime/vm/stub_code_arm64.cc View 1 2 10 chunks +17 lines, -14 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 8 chunks +20 lines, -25 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 2 7 chunks +10 lines, -12 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 8 chunks +16 lines, -22 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
Florian Schneider
6 years, 3 months ago (2014-09-17 18:53:53 UTC) #2
srdjan
lgtm
6 years, 3 months ago (2014-09-17 20:41:56 UTC) #3
Florian Schneider
Committed patchset #3 (id:40001) manually as r40428 (presubmit successful).
6 years, 3 months ago (2014-09-18 10:14:05 UTC) #4
Ivan Posva
6 years, 3 months ago (2014-09-18 17:31:12 UTC) #5
Message was sent while issue was closed.
-Ivan

https://codereview.chromium.org/581703003/diff/40001/runtime/vm/isolate.h
File runtime/vm/isolate.h (right):

https://codereview.chromium.org/581703003/diff/40001/runtime/vm/isolate.h#new...
runtime/vm/isolate.h:117: static inline uword CurrentAddress() {
This is a rather unfortunate name as the function does not return the address of
Current (see Scavenger::TopAddress for an example).

I will rename this to CurrentAsWord() if we need it.

https://codereview.chromium.org/581703003/diff/40001/runtime/vm/stub_code_arm.cc
File runtime/vm/stub_code_arm.cc (right):

https://codereview.chromium.org/581703003/diff/40001/runtime/vm/stub_code_arm...
runtime/vm/stub_code_arm.cc:769: __ LoadImmediate(R8,
Isolate::CurrentAddress());
On second thought I will add a LoadIsolate() to the macro assemblers and remove
CurrentAddress().

Powered by Google App Engine
This is Rietveld 408576698