Many articles tell about that Dalvik is register-based VM, but also many articles tell that Dalvik use stack for threads where saved methods and cached variables. Maybe I confuse this with keeping classes, variables and methods with executing real operations on processor. I think that this mean VM send operations in stack or registers. But don't find this information. Please help?)
Why Dalvik register-based, but use stack, what is differnce?
124 views Asked by Stanislav Kireev At
1
There are 1 answers
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in JVM
- How to check what objects are created and where?
- why does Java’s JIT compilation happen within user threads?
- The way Elasticsearch deals with control heap memory when indexing documents
- Within a Clojure project using deps.edn, where is the package name and version tracked?
- spark - How is it even possible to get an OOM?
- files in /tmp/hsperfdata_<user>/ were deleted
- Does an Stackoverflow occur in the JVM if the Activation Record is too small but there is still space left in the general stack?
- android art genertate verification errors,how to
- Understanding Invokedynamic Instruction in Java Bytecode and Its Impact on the Operand Stack
- A compatibility issue between jaydebeapi and jpype
- Java native access violation is not triggering the windows jit debugger
- java flight recorder(jfr) consumes 100% cpu when its supposed to have only 1-2% overhead
- Java reflection returning base type for Scala classes
- What is the exactly time that JNI release the LocalReference automatically?
- jvm exits for unknown reason
Related Questions in DALVIK
- android art genertate verification errors,how to
- Dalvid opcode parser
- What is the Memory model of DVM or ART in Android
- android.content.res.Resources$NotFoundException: Unable to find resource ID #0xffffffff?
- Why a Scala 2.13 app is trying to use `JavaClassValue` on Android if it is not available, then triggering `java.lang.NoClassDefFoundError`?
- Does calling Java's JVM instance-altering functions have any affects in an Android application?
- class loaded via dalvik.system.PathClassLoader cannot resolve dependencies on classes in the app
- why a field named "$r8$clinit" was generated in an interface in its smali code?
- Dalvik crash on Oneplus on Android 12
- Android - failed to generate Javadoc with Android Studio Bumblebee
- how to locate the register problem in Android after modifying some smali code of an APK?
- Problem when update targetSdkVersion to 30 Dalvik, Javafx,
- Why Dalvik register-based, but use stack, what is differnce?
- Does Dalvik create stacks to manage threads
- Is there a way to install an Android application by copying files / only modifying the file system?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
The difference is the use of an "operand stack" or not. With the JVM, variables can only be passed around by pushing/popping their values to/from an operand stack. In this context, values become operands when they exist on the operand stack. To call a method, all the parameters must be on the operand stack. To add two numbers together, both numbers must be on the operand stack, etc.
With a VM designed without an operand stack, passing variables to a method requires that the variable/register numbers be explicitly encoded in the operations. This generally yields better performance, but the overall size of the encoded operations tends to be larger compared to a design which uses an operand stack.
If the operations are expected to be compiled to machine code, then whether an operand stack is used or not doesn't really affect performance, because so many transformations are involved.