-
-
Notifications
You must be signed in to change notification settings - Fork 925
Comparing changes
Open a pull request
base repository: jruby/jruby
base: 054235f14e25
head repository: jruby/jruby
compare: 52a1832eae60
Commits on Dec 12, 2017
-
Configuration menu - View commit details
-
Copy full SHA for c215a7a - Browse repository at this point
Copy the full SHA c215a7aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b0260a3 - Browse repository at this point
Copy the full SHA b0260a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a6fac6a - Browse repository at this point
Copy the full SHA a6fac6aView commit details
Commits on Dec 13, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 07224e1 - Browse repository at this point
Copy the full SHA 07224e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59e8a6a - Browse repository at this point
Copy the full SHA 59e8a6aView commit details -
Amazingly almost everything still passes (spec:ruby:fast totally does).
This start changing all defined methods to use the raw (8859_1) string as the key in the method table. Symbol StringLiteral both now properly use proper ByteList and does not muck with String.
Configuration menu - View commit details
-
Copy full SHA for 58557e8 - Browse repository at this point
Copy the full SHA 58557e8View commit details
Commits on Dec 14, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 63193b5 - Browse repository at this point
Copy the full SHA 63193b5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 80f1f6e - Browse repository at this point
Copy the full SHA 80f1f6eView commit details -
Simple regression in recent changes. Some trace instr will have a nul…
…l name. Guard against it since it is a normal value.
Configuration menu - View commit details
-
Copy full SHA for f39a9eb - Browse repository at this point
Copy the full SHA f39a9ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d1577b - Browse repository at this point
Copy the full SHA 6d1577bView commit details -
Trying this. Seemingly now all symbol(String) in RubySymbol will be 8…
…859_1 or a raw string. So I made toString() decode to actual charset based on encoding. This may need another field if we discover toString() on RubySymbol is called all the time but let's roll with this made on-demand for now.
Configuration menu - View commit details
-
Copy full SHA for 4a07463 - Browse repository at this point
Copy the full SHA 4a07463View commit details -
Configuration menu - View commit details
-
Copy full SHA for b071728 - Browse repository at this point
Copy the full SHA b071728View commit details
Commits on Dec 19, 2017
-
Configuration menu - View commit details
-
Copy full SHA for cf354ec - Browse repository at this point
Copy the full SHA cf354ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b3576e - Browse repository at this point
Copy the full SHA 7b3576eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53d3517 - Browse repository at this point
Copy the full SHA 53d3517View commit details
Commits on Jan 11, 2018
-
Configuration menu - View commit details
-
Copy full SHA for f8e7e74 - Browse repository at this point
Copy the full SHA f8e7e74View commit details -
Configuration menu - View commit details
-
Copy full SHA for c920b1f - Browse repository at this point
Copy the full SHA c920b1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e25884 - Browse repository at this point
Copy the full SHA 6e25884View commit details -
Make common place for common bytelists.
Make and/or use isOr/isAnd and leverage AST being able to tell us this vs manually figuring it out.
Configuration menu - View commit details
-
Copy full SHA for 3ed229d - Browse repository at this point
Copy the full SHA 3ed229dView commit details -
argument parameters use bytelist now (mostly). This allows stuff like:
```text jruby -e 'p method(def foo(あ); end).parameters' [[:req, :あ]] ``` to work. Up til now this would confuse our impl and we may see an error like: ```text ArgumentError: invalid byte sequence in US-ASCII inspect at org/jruby/RubySymbol.java:283 inspect at org/jruby/RubySymbol.java:268 inspect at org/jruby/RubyArray.java:1659 inspect at org/jruby/RubyArray.java:1659 p at org/jruby/RubyKernel.java:492 <main> at -e:1 ``` Pure ruby code should not properly be giving properly encoded values back. Java (e.g. native) methods mostly should not matter since they do not return names but if they do return names then they are all assumed to be UTF-8 encoded data.
Configuration menu - View commit details
-
Copy full SHA for 83d0c96 - Browse repository at this point
Copy the full SHA 83d0c96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ca3a82 - Browse repository at this point
Copy the full SHA 1ca3a82View commit details -
Unbreak spec:compiler from merge with master. It was calling the raw …
…field name but name changed from a String to a ByteList which make new frame read write code find nothing.
Configuration menu - View commit details
-
Copy full SHA for 0f96a52 - Browse repository at this point
Copy the full SHA 0f96a52View commit details -
Use raw strings so JIT at least finds the method. This uncovers a wri…
…nkle in our strategy. Errors are generated from the search deep in Module but it is a raw String. This is somewhat ok for most strings because they just happen to be utf-8 so the display. This is a big issue though since we want proper error message....
Configuration menu - View commit details
-
Copy full SHA for fae1a96 - Browse repository at this point
Copy the full SHA fae1a96View commit details
Commits on Jan 12, 2018
-
Configuration menu - View commit details
-
Copy full SHA for ebb0f60 - Browse repository at this point
Copy the full SHA ebb0f60View commit details -
Made method storage backed by ByteList instead of String. I knew this…
… day would come but I was hoping I could cheat with 8859_1 strings enough to merge for 9.2. Unfortunately, lack of encoding through method methods means we cannot accurately throw properly encoded error messages since he have long lost the encoding of the method. So with that said, most people will not be able to notice this change. All the String methods for methods still exist. These methods will assume all data is UTF-8. This could be a dicey gamble but since it is the default for Ruby it likely will not impact anyone. Also since UTF-8 is 7bit clean for ASCII we should totally not have an issue there. Some API signatures have changed. This means 9.2 might end up causing some issues if you are doing something very low-level with our code base (although changes up to this point have already broken some APIs within parsing and IR and that is unavoidable). The method reader/writer maps needed their return type changed from <String, DynamicMethod> to <ByteList, DynamicMethod>. It was an option to make a new name for methods which returned this but this is so far down in our APIs I think we should run with it. Also ProfiledMethod has changed from String to ByteList (e.g. getName() -> ByteList from String). Ultimately ProfiledMethod needs to be properly encoded to be able to report the method in a properly encoded way...so there you have it. Next phase is to change interpreters and the JIT to stop from going: ByteList -> String -> ByteList. I did not do that part here since this is pretty large already.
Configuration menu - View commit details
-
Copy full SHA for 7004a17 - Browse repository at this point
Copy the full SHA 7004a17View commit details
Commits on Jan 17, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 49b9caa - Browse repository at this point
Copy the full SHA 49b9caaView commit details
Commits on Jan 22, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 914742c - Browse repository at this point
Copy the full SHA 914742cView commit details -
Configuration menu - View commit details
-
Copy full SHA for ffb23fc - Browse repository at this point
Copy the full SHA ffb23fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for eaf9b95 - Browse repository at this point
Copy the full SHA eaf9b95View commit details
Commits on Jan 23, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 9fe13cc - Browse repository at this point
Copy the full SHA 9fe13ccView commit details
Commits on Jan 24, 2018
-
Add more backtrace support properly printing out method name. This co…
…mmit is a little off in that it assumes the String returned from the properly encoded symbol will be the same encoding as the String returned. Generally this will be UTF-8 so it will almost always work. Not perfect but better.
Configuration menu - View commit details
-
Copy full SHA for b7ee8ea - Browse repository at this point
Copy the full SHA b7ee8eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for fea43fb - Browse repository at this point
Copy the full SHA fea43fbView commit details -
local_variables needs to acquire properly encoded bytes to check thei…
…r first and last character to see if it is a local variable. In truth, this is pretty weird code. IdUtils only works with String and without doubling the code for ByteList there is a weakness since non Java Charset strings will not work here. IdUtils itself is also pretty weird since we really just want variables which are not special and this method checks for all sorts of things we know these strings can never be. (FIXME: added)
Configuration menu - View commit details
-
Copy full SHA for cee507c - Browse repository at this point
Copy the full SHA cee507cView commit details
Commits on Jan 29, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 308d4a2 - Browse repository at this point
Copy the full SHA 308d4a2View commit details -
Was I high? Mangled backtraces which broke our insanely slow and fragile
require_relative implementation.
Configuration menu - View commit details
-
Copy full SHA for e3478c8 - Browse repository at this point
Copy the full SHA e3478c8View commit details
Commits on Feb 6, 2018
-
Way too far down the hole but not back to fully green. Need to get th…
…is saved somewhere! As systemic insulating design choice all identifiers are forced to construct an eager RubySymbol as constructor argument to the AST (note: parsing and IR APIs definitely are not backwards compat with 9.1). This should future- proof things. By forcing the AST to use symbols it means we cannot make idents which are not eager in making a symbol table entry. This in turn means later on when we work with the raw string equivalent of these idents....we know there will be a symbol table entry. As an aside MRI is eager on all idents/symbols so we are being a little more like them (which is not semantically important but who knows?). Constants, ivars, gvar, cvars all made to use raw strings. This still has some fallout to deal with. For example const_get? will use the string and assume it can charAt but it cannot since it is now a raw string. In cases like this we need to ask for properly encoded bytelist and perform same logic but in a mbc friendly way. This will likely be the next commit(s). Tons of error reporting corrections (with tons more needed). Now that all identifiers are raw strings they look weird when they contain mbcs. So I added a buildString which makes a RubyString which will do proper m17n stuff to make a byte coherent string. I did many of these when I see them fail in the test suite but the pure lack of coverage in this regard is staggering. My hope to limit an endless stream of reports is to lean on all errors which refer to idents using the same helper method as a visual cue that it will be properly handled. Both this and the symbols in AST constructors are meant to help us at a glance not make an error or know why we have an error at a glance. All-in-all this last dump has had me work through many issues and I am still pretty happy. Making older extensions continue to work has added a tough dimension but so far so good :)
Configuration menu - View commit details
-
Copy full SHA for 94d74e3 - Browse repository at this point
Copy the full SHA 94d74e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 866def2 - Browse repository at this point
Copy the full SHA 866def2View commit details -
incidentally found error in ripper while looking for something else...
$_foo would not ever parse....
Configuration menu - View commit details
-
Copy full SHA for d1df87a - Browse repository at this point
Copy the full SHA d1df87aView commit details
Commits on Feb 7, 2018
-
Yeah these symbol IDs are identifiers and so should be hard similar t…
…o how MRI works. We do not want them going away since we may no longer have a reference in the AST nor IR (actually IR does not store symbols at all but even if it did I would like persistence to play a future role so we can save long uncalled or already JITd IR to save memory).
Configuration menu - View commit details
-
Copy full SHA for 1367812 - Browse repository at this point
Copy the full SHA 1367812View commit details
Commits on Feb 13, 2018
-
Still a lot of missing changes for errors but more filled in.
const_defined? totally changed and only broken now due to missing proper logic for printing out type names in error messages. Outstanding is if the string contains something the encoding thinks is unprintable it will display the type in quotes and escape the unprintable character. dumpString is nearly correct but it will not correctly pick up \u0000 for \0 but instead print out \x00. Landing for now since this is again a bigish delta and it advances things a bit more.
Configuration menu - View commit details
-
Copy full SHA for 790425c - Browse repository at this point
Copy the full SHA 790425cView commit details
Commits on Mar 1, 2018
-
Configuration menu - View commit details
-
Copy full SHA for e5b3265 - Browse repository at this point
Copy the full SHA e5b3265View commit details
Commits on Mar 2, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 2b2c3a8 - Browse repository at this point
Copy the full SHA 2b2c3a8View commit details
Commits on Mar 6, 2018
-
A lot of flux here in getting error reporting more correct:
- new ids() method for an 'ID String' - Realization that any types reported in Ruby should call to_s ALWAYS if it has been defined. We have a number of paths which will rely on name and baseName (rubyName and rubyBaseName). I am still working through ramifications of this but toRubyString was added. This site calls to_s and returns the string. For types this will eventually either to_s on and overridden method OR it will fall back to calling rubyName (which will use a cached name it calculated once). Not finished updating. Just making a cleaner slate for now. There is only 2 errors left in test:mri but I think there is really poor coverage on m17n+error strings.
Configuration menu - View commit details
-
Copy full SHA for cb48a21 - Browse repository at this point
Copy the full SHA cb48a21View commit details -
Workaround NativeThread not being able to grab a TC yet. We really wa…
…nt something here valid as a default name even if we explicitly add nil as explicit param to constructor.
Configuration menu - View commit details
-
Copy full SHA for b2f7fbf - Browse repository at this point
Copy the full SHA b2f7fbfView commit details -
Bleh. I did not port that from String to RubyString very well. Fix so…
…me silly mistakes.
Configuration menu - View commit details
-
Copy full SHA for 5148f79 - Browse repository at this point
Copy the full SHA 5148f79View commit details -
Configuration menu - View commit details
-
Copy full SHA for c94eeb8 - Browse repository at this point
Copy the full SHA c94eeb8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35e3dcd - Browse repository at this point
Copy the full SHA 35e3dcdView commit details
Commits on Mar 7, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 7d8700b - Browse repository at this point
Copy the full SHA 7d8700bView commit details -
yay...we have all this jcodings data on alnum but Ruby ignores it. Id…
…entifiers are ridiculously accepting of ALL non-ascii codepoints.
Configuration menu - View commit details
-
Copy full SHA for 6e76d1f - Browse repository at this point
Copy the full SHA 6e76d1fView commit details
Commits on Mar 9, 2018
-
Change buildString to str, add types() in additiona to ids() for prop…
…er printing or types and non-types for error strings.
Configuration menu - View commit details
-
Copy full SHA for b8bd2f1 - Browse repository at this point
Copy the full SHA b8bd2f1View commit details
There are no files selected for viewing