yes yes I meant 'disabling compressed oops' sorry about that! Yes it happens when I use eval as well. If i try to go to depth 6 at once it will crash...if i try to go to level 4 then it might not the first time but it will at some subsequent point...very strange! anyway I've removed the ^:const flag altogether so i can at least work...but from what I understand it does offer a small performance improvement...

Jim


On 21/01/13 18:22, AtKaaZ wrote:
Just making sure, but when you say " and 'COMPRESSED-OPS' flag" you mean disabling compressed-oops aka -XX:-UseCompressedOops (note the minus) or the enabled(as is the default) compressed oops aka -XX:+UseCompressedOops

Does it happen even if you use eval ?


On Mon, Jan 21, 2013 at 7:19 PM, Jim - FooBar(); <jimpil1...@gmail.com <mailto:jimpil1...@gmail.com>> wrote:

    our  happiness was short-lived...I still get the aformentioned jvm
    error even with the latest jdk/jre and 'COMPRESSED-OPS' flag, when
    using ^:const. This is new - I don't remember having this a month
    ago...it is definitely new and I'm thinking it's the rc1 version
    of clojure...

    At the moment to avoid any problems I *have to* remove the ^:const
    flag completely. Then and only then it works as expected
    regardless of whether the numbers inside are unboxed ints or boxed
    longs.

    Jim


    On 21/01/13 17:26, AtKaaZ wrote:
    Very nice find! Thank you for that!

    I'm thinking maybe it has something to do with lazy or delayed
    evaluation. I don't really understand most clojure things but I
    imagine if the call to mapv would not be evaluated right when the
    def is read but instead only when the mappings-8x8 is first being
    used (sort of like a `delay` or lazy init) then it would make
    some sense why ^:const would fail however this theory doesn't
    seem to hold when using something like (def ^:const mappings-8x8
    ((fn [] [[0 0] [1 0]])) because it would have to act like the
    call to mapv does, unless there's something extra introduced by
    mapv but the returned class seems to be the same that
    PersistenVector - anyway I'm just guessing around, doesn't help :)




    On Mon, Jan 21, 2013 at 6:17 PM, Jim - FooBar();
    <jimpil1...@gmail.com <mailto:jimpil1...@gmail.com>> wrote:

        On 21/01/13 17:07, Jim - FooBar(); wrote:

            On 21/01/13 16:47, AtKaaZ wrote:

                Could you retry using this
                -XX:-UseCompressedOops



            surprisingly this worked! I don't get that error
            anymore... I used to have it but i thought it was
            completely unnecessary...I don't understand how this
            affects the runtime of my program!

    About that, I find these a useful read:
    
http://javarevisited.blogspot.hu/2011/11/hotspot-jvm-options-java-examples.html
    
http://javarevisited.blogspot.hu/2012/06/what-is-xxusecompressedoops-in-64-bit.html


            Jim


        also I Just tried eval-ing the call to mapv and it compiles
        and runs just fine!!!! I'm totally baffled...

        So to sum up:

        this fails:


        (def ^:const mappings-8x8
          (mapv #(apply vector-of :int %) [[0 0] [1 0] [2 0]]))

        this succeeds:

        (def ^:const mappings-8x8
          (eval (mapv #(apply vector-of :int %) [[0 0] [1 0] [2 0]])))


        this is beyond me!


        Jim




-- You received this message because you are subscribed to the
        Google
        Groups "Clojure" group.
        To post to this group, send email to clojure@googlegroups.com
        <mailto:clojure@googlegroups.com>
        Note that posts from new members are moderated - please be
        patient with your first post.
        To unsubscribe from this group, send email to
        clojure+unsubscr...@googlegroups.com
        <mailto:clojure%2bunsubscr...@googlegroups.com>
        For more options, visit this group at
        http://groups.google.com/group/clojure?hl=en




-- I may be wrong or incomplete.
    Please express any corrections / additions,
    they are encouraged and appreciated.
    At least one entity is bound to be transformed if you do ;)
-- You received this message because you are subscribed to the Google
    Groups "Clojure" group.
    To post to this group, send email to clojure@googlegroups.com
    <mailto:clojure@googlegroups.com>
    Note that posts from new members are moderated - please be
    patient with your first post.
    To unsubscribe from this group, send email to
    clojure+unsubscr...@googlegroups.com
    <mailto:clojure+unsubscr...@googlegroups.com>
    For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

-- You received this message because you are subscribed to the Google
    Groups "Clojure" group.
    To post to this group, send email to clojure@googlegroups.com
    <mailto:clojure@googlegroups.com>
    Note that posts from new members are moderated - please be patient
    with your first post.
    To unsubscribe from this group, send email to
    clojure+unsubscr...@googlegroups.com
    <mailto:clojure%2bunsubscr...@googlegroups.com>
    For more options, visit this group at
    http://groups.google.com/group/clojure?hl=en




--
I may be wrong or incomplete.
Please express any corrections / additions,
they are encouraged and appreciated.
At least one entity is bound to be transformed if you do ;)
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to