T hi s d o es n ot c h a n g e e xi st in g based on SSA Packages using cgo may

T hi s d o es n ot c h a n g e e xi st in g based on

This preview shows page 18 - 26 out of 48 pages.

T hi s d o es n ot c h a n g e e xi st in g based on SSA . Packages using cgo may now include Fortran source files (in addition to C, C+ +, Objective C, and SWIG), although the Go bindings must still use C language APIs. The new subcommand “ go tool dist list ” prints all supported operating system/architecture pairs.
Image of page 18
b e h a vi o ur . 1. 8 - 1. 8. 7 201 7/0 2/1 6 When e x pl ic itl y c o n v er ti n g a v al u e fr o m o n e st ru ct ty p e to a n ot h er , as of For 64-bit x86 systems, the following instructions have been added: VBROADCASTSD , BROADCASTSS , MOVDDUP , MOVSHDUP , MOVSLDUP , VMOVDDUP , VMOVSHDUP , and VMOVSLDUP . Garbage collection pauses should be significantly shorter than they were in Go 1.7, usually under 100 microseconds and often as low as 10 microseconds. See the document on eliminating stop-the-world stack re-scanning for details. The overhead of deferred function calls has been reduced by about half. The overhead of calls from Go into C has been reduced by about half.
Image of page 19
G o 1. 8 th e ta gs ar e ig n or e d. T h us t w o st ru ct s th at di ff er o nl y in th ei r ta gs m a y b e c o n v er te d
Image of page 20
fr o m o n e to th e ot h er . 1. 9 - 1. 9. 7 201 7/0 8/2 4 Go n o w su p p or ts ty p e al ia se s. Force th e in te r m e di at e ro u n di n g The Go compiler now supports compiling a package's functions in parallel, taking advantage of multiple cores.
Image of page 21
in fl o at in g- p oi nt ar it h m et ic . 1. 10 - 1. 10 .3 201 8/0 2/1 6 A c or n er ca se in v ol vi n g sh ift s of u nt y p e d c o ns ta nt s h as b ee For the X86 64-bit port, the assembler now supports 359 new instructions, including the full AVX, AVX2, BMI, BMI2, F16C, FMA3, SSE2, SSE3, SSSE3, SSE4.1, and SSE4.2 extension sets. The assembler also no longer implements MOVL $0, AX as an XORL instruction, to avoid clearing the condition flags unexpectedly.
Image of page 22
n cl ar ifi e d. The gr a m m ar fo r m et h o d e x pr es si o ns h as b ee n u p d at e d to re la x th e sy nt a x to al
Image of page 23
lo w a n y ty p e e x pr es si o n as a re ce iv er . 1. 11 - 1. 11 .1 201 8/0 8/2 4 There are no chang es to the langua ge specifi cation. Go 1.11 adds an experimental port to WebAssembly . Go 1.11 adds preliminary support for a new concept called “modules,” an alternative to GOPATH with integrated support for versioning and package distribution. The assembler for amd64 now accepts AVX512 instructions. Go 1.11 drops support of Windows XP and Windows Vista. [34] Implementations [ edit ] Two major implementations exist: Google's Go toolchain, targeting multiple platforms including Linux , BSD , macOS , Plan 9 , Windows , and (since 2015) mobile devices. [35] The primary Go compiler became self-hosting in version 1.5. [36] A second compiler, gccgo, is a GCC frontend. [37] [38] A third Go compiler, known as GopherJS, [39] also exists. GopherJS compiles Go code into JavaScript code, and enables Go to be used for frontend development .
Image of page 24
New logo.
Image of page 25
Image of page 26

You've reached the end of your free preview.

Want to read all 48 pages?

  • Fall '12
  • DuiWei
  • The Land, Google Go

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes