- 12 Mar, 2015 16 commits
-
-
Robert Griesemer authored
Also: - Implemented NewFloat convenience factory function (analogous to NewInt and NewRat). - Implemented convenience accessors for Accuracy values returned from Float.Cmp. - Added test and example. Change-Id: I985bb4f86e6def222d4b2505417250d29a39c60e Reviewed-on: https://go-review.googlesource.com/6970Reviewed-by: Alan Donovan <adonovan@google.com>
-
Russ Cox authored
Four spaces is what works well for both 4- and 8-space tab stops. Screen with fixed-width font and 4-space tab stops: http://imgur.com/lps5Lbb Change-Id: I7d2b813d674c3e0a68f79d63bc5d5ec5bd4f87bb Reviewed-on: https://go-review.googlesource.com/7503Reviewed-by: Rob Pike <r@golang.org>
-
Robert Griesemer authored
This is a fairly significant _internal_ representation change. Instead of encoding 0, finite, infinite, and NaN values with special mantissa and exponent values, a new (1 byte) 'form' field is used (without making the Float struct bigger). The form field permits simpler and faster case distinctions. As a side benefit, for zero and non-finite floats, fewer fields need to be set. Also, the exponent range is not the full int32 range (in the old format, infExp and nanExp were used to represent Inf and NaN values and tests for those values sometimes didn't test for the empty mantissa, so the range was reduced by 2 values). The correspondence between the old and new fields is as follows. Old representation: x neg mant exp --------------------------------------------------------------- +/-0 sign empty 0 0 < |x| < +Inf sign mantissa exponent +/-Inf sign empty infExp NaN false empty nanExp New representation (- stands for ignored fields): x neg mant exp form --------------------------------------------------------------- +/-0 sign - - zero 0 < |x| < +Inf sign mantissa exponent finite +/-Inf sign - - inf NaN - - - nan Client should not be affected by this change. Change-Id: I7e355894d602ceb23f9ec01da755fe6e0386b101 Reviewed-on: https://go-review.googlesource.com/6870Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
Change-Id: If38f45acffd352ed95f32f3a36edd91a1fb33d0c Reviewed-on: https://go-review.googlesource.com/6850Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
Change-Id: I6caa6bdcf6643ce3015244397a752bd133f3d00c Reviewed-on: https://go-review.googlesource.com/6840Reviewed-by: Alan Donovan <adonovan@google.com>
-
Rob Pike authored
Change-Id: Ic78deaf91b437016b0a064c1f9ef49c9c29f4c32 Reviewed-on: https://go-review.googlesource.com/7510Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
Make PrintDefaults print an easier-to-read format, and allow the user to control it a bit by putting a hint into the usage string. Here is the new doc comment for PrintDefaults, which does the work: PrintDefaults prints, to standard error unless configured otherwise, a usage message showing the default settings of all defined command-line flags. For an integer valued flag x, the default output has the form -x int usage-message-for-x (default 7) The usage message will appear on a separate line except for single- letter boolean flags. Boolean flags omit the type, since they can be used without an actual value, and the parenthetical default is omitted if the default is the zero value for the type. The type, here int, can be replaced by a string of the user's choosing by placing in the usage string for the flag a back-quoted name; the first such item in the message is taken to be a parameter name to show in the message and the back quotes are stripped from the message when displayed. For instance, given flag.String("I", "", "search `directory` for include files") the output will be -I directory search directory for include files. Given A = flag.Bool("A", false, "for bootstrapping, allow 'any' type") B = flag.Bool("Alongflagname", false, "disable bounds checking") C = flag.Bool("C", true, "a boolean defaulting to true") D = flag.String("D", "", "set relative `path` for local imports") F = flag.Float64("F", 2.7, "a non-zero float") G = flag.Float64("G", 0, "a float that defaults to zero") N = flag.Int("N", 27, "a non-zero int") Z = flag.Int("Z", 0, "an int that defaults to zero") T = flag.Duration("deltaT", 0, "a duration") the old output was -A=false: for bootstrapping, allow 'any' type -Alongflagname=false: disable bounds checking -C=true: a boolean defaulting to true -D="": set relative `path` for local imports -F=2.7: a non-zero float -G=0: a float that defaults to zero -N=27: a non-zero int -Z=0: an int that defaults to zero -deltaT=0: a duration and the new output is -A for bootstrapping, allow 'any' type -Alongflagname disable bounds checking -C a boolean defaulting to true (default true) -D path set relative path for local imports -F float a non-zero float (default 2.7) -G float a float that defaults to zero -N int a non-zero int (default 27) -Z int an int that defaults to zero -deltaT duration a duration Change-Id: I54ab3cd5610d551422b004d95ab78305e06a395d Reviewed-on: https://go-review.googlesource.com/7330Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
The old, per-architecture operand printers didn't lock down the format of the constant in the MRC and MCR instructions (a value that could be presented more helpfully - maybe how the input looks? - but that is an issue for another day). But there is a portable standard printer now so we can enable tests for these instructions. Change-Id: I437a3b112ce63f4d6e1fe3450fc21d8c3372602f Reviewed-on: https://go-review.googlesource.com/7420Reviewed-by: Russ Cox <rsc@golang.org>
-
Shenghou Ma authored
Change-Id: I4bc08a7085b45be3d2755a1986cf5b8c82fa165d Reviewed-on: https://go-review.googlesource.com/7500Reviewed-by: Minux Ma <minux@golang.org>
-
Michael Vetter authored
When printing the type of the function there was no newline printed in case of unexpected type. Change-Id: I5946413f0864f712a1b955f488b436793018e0e0 Reviewed-on: https://go-review.googlesource.com/7480Reviewed-by: Minux Ma <minux@golang.org>
-
Michael Hudson-Doyle authored
Just a trivial thing I noticed in passing. Change-Id: I875069ceffd623f9e430d07feb5042ab9e69917e Reviewed-on: https://go-review.googlesource.com/7472Reviewed-by: Rob Pike <r@golang.org>
-
Michael Hudson-Doyle authored
Somehow, terribly embarrassingly, I lost part of the "re-enable -shared on amd64" patch when rebasing before it got submitted. This restores it and also fixes the addend to be the necessary -4. Now updated so that Git will not put the new case into the wrong switch. Change-Id: I1d628232771a6d6ce6d085adf379f94a377822c5 Reviewed-on: https://go-review.googlesource.com/7126 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Matt Joiner authored
This allows /debug/pprof/ and descendents to be used through http.StripPrefix and other path rewriting handlers. Change-Id: I53673876c107bbfaf430123ead78e6524b42ac21 Reviewed-on: https://go-review.googlesource.com/7351Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Geert-Johan Riemer authored
When appending zip data to existing data such as a binary file the zip headers must use the correct offset. NewWriterWithOptions allows creating a Writer that uses the provided offset in the zip headers. Fixes #8669 Change-Id: I6ec64f1e816cc57b6fc8bb9e8a0918e586fc56b0 Reviewed-on: https://go-review.googlesource.com/2978Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Shenghou Ma authored
Fixes #10135. Change-Id: Ic4c5ab15bcb7b9c3fcc685a788d3b59c60c26e1e Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/7400Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Shenghou Ma authored
This will make the intention clearer. This is migrated from pre-c2go CL 4930. Change-Id: I9103126a05323daedd729a43b94b2be8cd7408c9 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/7410Reviewed-by: Austin Clements <austin@google.com>
-
- 11 Mar, 2015 12 commits
-
-
Austin Clements authored
Many headers in DWARF sections have a "unit length" that can be either 4 bytes or 12 bytes and indicates both the length of the unit and whether the unit is in 32-bit or 64-bit format. Currently, we implement unit length parsing in four different places. Add a "unitLength" method to buf that parses a unit length and use it in these four places. Change-Id: I7950b91caaa92aa5e19aa63debc8ae46178ecc4d Reviewed-on: https://go-review.googlesource.com/7281Reviewed-by: Nigel Tao <nigeltao@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Matthew Dempsky authored
The conversion of this logic from C introduced a few subtle behavior changes. E.g., assigning "name := data[p0:]" and then "name = name[:p1-p0]" actually caused name to span the vast majority of the package data, as at the time of the second statement p0 points just after the package name and p1 points to the end of the package data. Similarly, the logic for advancing past the newline at the end of the package line changed slightly: for a "package foo safe" line, the new code would only advance up to the newline, but not past. (Albeit, in practice this doesn't matter: newlines in package data are harmless.) Lastly, "data[p0]" was incorrectly written as "data[0]" a few times. Change-Id: I49017e16ba33a627f773532b418cbf85a84f2b4b Reviewed-on: https://go-review.googlesource.com/7000Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Hyang-Ah (Hana) Kim authored
The slash is replaced with os.PathSeparator before returning. Split, SplitList are the exceptions; comments for them mention this. Fixes golang/go#10122. Change-Id: I66dbee8d09f378582e046be8df309a3930151820 Reviewed-on: https://go-review.googlesource.com/7310Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Rob Pike <r@golang.org>
-
Keith Randall authored
Everything has moved to Go, but comments still refer to .c/.h files. Fix all of those up, at least for these three directories. Fixes #10138 Change-Id: Ie5efe89b247841e0b3f82aac5256b2c606ef67dc Reviewed-on: https://go-review.googlesource.com/7431Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
Add cmd/internal/obj/stringer.go to do the generation and update the architecture packages to use it to maintain the Anames tables. Change-Id: I9c6d4def1bf21624668396d70c17973d0db11fbc Reviewed-on: https://go-review.googlesource.com/7430Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
It's an oddball that needs special treatment because it is not really an opcode, but a variant of MRC. The String method of Prog still needs updating to print it nicely. Change-Id: I6005b7f2234ccd3d4ac1f658948e3be97cf1f1c2 Reviewed-on: https://go-review.googlesource.com/7220Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Russ Cox <rsc@golang.org>
-
Dmitry Vyukov authored
This allows to test goroutine analysis code in runtime/pprof tests. Also fix a nil-deref crash in goroutine analysis code that happens on runtime/pprof tests. Change-Id: Id7884aa29f7fe4a8d7042482a86fe434e030461e Reviewed-on: https://go-review.googlesource.com/7301 Run-TryBot: Dmitry Vyukov <dvyukov@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Dmitry Vyukov authored
Augment ProcStart events with OS thread id. This helps in scheduler locality analysis. Change-Id: I93fea75d3072cf68de66110d0b59d07101badcb5 Reviewed-on: https://go-review.googlesource.com/7302Reviewed-by: Keith Randall <khr@golang.org>
-
Matthew Dempsky authored
Fixes #10129. Change-Id: I9f56c483726f14b6c1909740549de236d5bf9cfb Reviewed-on: https://go-review.googlesource.com/7340Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dave Cheney authored
More cleanups to gc.Node - make Node.Local a boolean - make Type.Local a boolean - reduce the size of Node.Esc to a uint8 Reducing the size of Node.Esc shaves ~45mb off the RSS compiling cmd/internal/gc on amd64 before: Maximum resident set size (kbytes): 659496 after: Maximum resident set size (kbytes): 612196 - declare gc.Funcdepth as int32 - declare Node.Funcdepth as int32 In both cases, these were previously machine specific int types. This doesn't result in any memory saving at the moment due to struct padding. Change-Id: Iabef8da15e962fe8b79d7fd3d402fb26ce7ec31c Reviewed-on: https://go-review.googlesource.com/7261Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dave Cheney authored
This change adds the minimum necessary to implement applyRelocations. For adg, this code uses the switch statement. Change-Id: I0989daab8d0e36c2a4f6a315ced258b832744616 Reviewed-on: https://go-review.googlesource.com/7266Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Nigel Tao authored
The testdata was generated by: convert video-001.png tmp1.tga cjpeg -quality 100 -sample 2x2,1x2,1x2 tmp1.tga > video-001.221212.jpeg djpeg -nosmooth -targa video-001.221212.jpeg > tmp2.tga convert tmp2.tga video-001.221212.png rm tmp1.tga tmp2.tga Change-Id: Ica241dfc19b3eb47ade150bf0432373c6006c38a Reviewed-on: https://go-review.googlesource.com/7264Reviewed-by: Rob Pike <r@golang.org>
-
- 10 Mar, 2015 12 commits
-
-
Dave Cheney authored
Updates #9974 This change is in preparation for merging the arm64 platform. Arm64 does not support SYS_DUP2 at all, so define a new constant to be the minimum dup(2) version supported. This constant defaults to SYS_DUP2 on all existing platforms. Change-Id: If405878105082c7c880f8541c1491970124c9ce4 Reviewed-on: https://go-review.googlesource.com/7123Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net>
-
Shenghou Ma authored
Kick start the upstreaming of the arm64 port. The only manual change is cmd/go/pkg.go. Change-Id: I0607ad045486f0998c4e21654b59276ca5348069 Reviewed-on: https://go-review.googlesource.com/7075Reviewed-by: Aram Hăvărneanu <aram@mgk.ro> Run-TryBot: Aram Hăvărneanu <aram@mgk.ro> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
Fixes #10125. Change-Id: I99032912650cef8e5bf124bda0a60d5899760103 Reviewed-on: https://go-review.googlesource.com/7320Reviewed-by: Robert Griesemer <gri@golang.org>
-
Dmitry Vyukov authored
Some of the trace stacks are OS-dependent due to OS-specific code in net package. Check these stacks only on subset of OSes. Change-Id: If95e4485839f4120fd6395725374c3a2f8706dfc Reviewed-on: https://go-review.googlesource.com/7300 Run-TryBot: Dmitry Vyukov <dvyukov@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-
Rick Hudson authored
Even though the world is stopped the GC may do pointer writes that need to be protected by write barriers. This means that the write barrier must be on continuously from the time the mark phase starts and the mark termination phase ends. Checks were added to ensure that no allocation happens during a GC. Hoist the logic that clears pools the start of the GC so that the memory can be reclaimed during this GC cycle. Change-Id: I9d1551ac5db9bac7bac0cb5370d5b2b19a9e6a52 Reviewed-on: https://go-review.googlesource.com/6990Reviewed-by: Austin Clements <austin@google.com>
-
Dmitry Vyukov authored
Stip uninteresting bottom and top frames from trace stacks. This makes both binary and json trace files smaller, and also makes stacks shorter and more readable in the viewer. Change-Id: Ib9c80ccc280504f0e235f867f53f1d2652c41583 Reviewed-on: https://go-review.googlesource.com/5523Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
-
Austin Clements authored
This adds simple ELF test binaries generated by gcc and clang and compares the line tables returned by the line table reader against tables based on the output of readelf. The binaries were generated with # gcc --version | head -n1 gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 # gcc -g -o line-gcc.elf line*.c # clang --version | head -n1 Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4) # clang -g -o line-clang.elf line*.c Change-Id: Id210fdc1d007ac9719e8f5dc845f2b94eed12234 Reviewed-on: https://go-review.googlesource.com/7070Reviewed-by: Nigel Tao <nigeltao@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Austin Clements authored
This implements a LineReader for line tables that parallels the existing Reader for debug entries. This code is partly based on the debug subrepo's fork of dwarf, but it is a more complete (and, I believe, correct) implementation of the spec and exposes a more general API. While the debug subrepo's implementation exposed only a PC-to-line function, this version exposes the line table rows to the caller. This way the caller can make its own trade-offs when implementing PC-to-line (or line-to-PC), such as whether or not to build an index for fast lookup. Change-Id: Ie157bc817f55e940b6f2e1ae010c5a4e1f29c5c8 Reviewed-on: https://go-review.googlesource.com/6734Reviewed-by: Nigel Tao <nigeltao@golang.org>
-
Austin Clements authored
This factors out the code for finding which unit contains an offset in the "info" section. The new code also replaces linear search with a binary search. The line table reader will also need this functionality. Change-Id: I2076e4fc6719b6f06fd2796cbbc7548ec1876cb3 Reviewed-on: https://go-review.googlesource.com/6733Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Change-Id: I1e6c6b3e2984528c0331e17755cc057e7199193e Reviewed-on: https://go-review.googlesource.com/7071Reviewed-by: Nigel Tao <nigeltao@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Austin Clements authored
Change-Id: Ia6f9bd77a3d4250339dcb054edc76942864dd358 Reviewed-on: https://go-review.googlesource.com/6781Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Previously, different DWARF sections had relocations applied in very different ways. .debug_info was relocated, but only on x86-64 and 386 and using hard-coded relocation section names instead of relocation links. .debug_abbrev and .debug_str were never relocated (which is excusable because they shouldn't need it). .debug_types sections were relocated on all architectures and found their relocation section using a relocation link because section names could be ambiguous. Simplify all of this so that every DWARF section that has a linked relocation section gets those relocations applied. This prepares this code to load .debug_line sections without the need for yet more ad hoc relocation logic. Change-Id: Ia00ac8e656b22f22bb31a5f6ef9b0f23cda64d19 Reviewed-on: https://go-review.googlesource.com/6780Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-